From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MIME_QP_LONG_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [IPv6:2600:3c01:e000:146::1]) by inbox.vuxu.org (Postfix) with ESMTP id 9F23C28D4C for ; Sat, 25 May 2024 15:56:50 +0200 (CEST) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id A3D9E43669; Sat, 25 May 2024 23:56:44 +1000 (AEST) Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52]) by minnie.tuhs.org (Postfix) with ESMTPS id 83B6A43667 for ; Sat, 25 May 2024 23:56:38 +1000 (AEST) Received: from pb-smtp20.pobox.com (unknown [127.0.0.1]) by pb-smtp20.pobox.com (Postfix) with ESMTP id D48D62D5FE; Sat, 25 May 2024 09:56:37 -0400 (EDT) (envelope-from davida@pobox.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h= content-type:content-transfer-encoding:from:mime-version:subject :date:message-id:references:cc:in-reply-to:to; s=sasl; bh=Ns2fxn +jMxdvI7xp5nXOCttLpTJcMu6ldUIDWpG/ofE=; b=Buzd9umOluwYM/svx/T1Wp ksevgtusSJ+f7lubJBKjII0XeTqYYv1U1TxYg8wed+leKHuJUWqbC4h0SWszkHzy 1iDPCDZkphqBZ0jIIk/CnsJXHqELLPhc8QTOAsfxxADINW7kCJxPstiTyTqJY3qX x3VhXIaC6PZg4LwRSbP2g= Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1]) by pb-smtp20.pobox.com (Postfix) with ESMTP id CD1D22D5FD; Sat, 25 May 2024 09:56:37 -0400 (EDT) (envelope-from davida@pobox.com) Received: from smtpclient.apple (unknown [203.132.93.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pb-smtp20.pobox.com (Postfix) with ESMTPSA id 1B4A92D5FC; Sat, 25 May 2024 09:56:35 -0400 (EDT) (envelope-from davida@pobox.com) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: David Arnold Mime-Version: 1.0 (1.0) Date: Sat, 25 May 2024 23:56:21 +1000 Message-Id: <52098DD5-4FE0-4892-9288-12FE70793484@pobox.com> References: <1E156D9B-C841-4693-BEA4-34C4BF42BCD5@iitbombay.org> In-Reply-To: <1E156D9B-C841-4693-BEA4-34C4BF42BCD5@iitbombay.org> To: Bakul Shah X-Mailer: iPhone Mail (20H330) X-Pobox-Relay-ID: 9952D508-1A9E-11EF-AA29-F515D2CDFF5E-29049682!pb-smtp20.pobox.com Message-ID-Hash: WMZ4HBL2ZKJE3AYVN54E3WSHIRZO6T4C X-Message-ID-Hash: WMZ4HBL2ZKJE3AYVN54E3WSHIRZO6T4C X-MailFrom: davida@pobox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: The Unix Heritage Society mailing list X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: A fuzzy awk List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: > On 25 May 2024, at 10:18, Bakul Shah via TUHS wrote: >=20 > =EF=BB=BF > What would be nice if programming languages provided some support for such= exhaustive testing[1]. >=20 > At one point I had suggested turning Go's Interface type to something like= Guttag style abstract data types in that relevant axioms are specified righ= t in the interface definition. The idea was that any concrete type that impl= ements that interface must satisfy its axioms. Even if the compiler ignored t= hese axioms, one can write a support program that can generate a set of comp= rehensive tests based on these axioms. Sounds like Eiffel, whose compiler had support for checking pre and post con= ditions (and maybe invariants?) at runtime, or disabling the checks for =E2=80= =9Cperformance=E2=80=9D mode.=20 d=