From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.0 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id 2CCB3BC0B for ; Tue, 30 Jan 2007 18:23:04 +0100 (CET) Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.236]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l0UHN3N8007484 for ; Tue, 30 Jan 2007 18:23:03 +0100 Received: by wx-out-0506.google.com with SMTP id i26so2002435wxd for ; Tue, 30 Jan 2007 09:23:02 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=cIf1nIx/CO0ol5qxfdeeGMoXUCejVGXrZoB98cOzET+QUzIj2x4W2JvEKXLZVYfUQTZ0o2SfNtNcqYI2zdZQwd3tWYFyzXds4kK246tfYE2zClOFiwk1D4Tj+ZP10rQG1C90YKBzoIyFBSKORAyrClTbUEjB+T2vhvnjPiNkENQ= Received: by 10.90.84.17 with SMTP id h17mr8817361agb.1170177782675; Tue, 30 Jan 2007 09:23:02 -0800 (PST) Received: by 10.90.55.5 with HTTP; Tue, 30 Jan 2007 09:23:02 -0800 (PST) Message-ID: <875c7e070701300923r362b1032sac4125fd2879f8ae@mail.gmail.com> Date: Tue, 30 Jan 2007 12:23:02 -0500 From: "Chris King" To: "Jacques Carette" Subject: Re: [Caml-list] Equality of functional values Cc: "Jeff Polakow" , caml-list@yquem.inria.fr In-Reply-To: <45BF691B.8090506@mcmaster.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <45BF691B.8090506@mcmaster.ca> X-j-chkmail-Score: MSGID : 45BF7EF7.000 on discorde : j-chkmail score : X : 0/20 1 0.000 -> 1 X-Miltered: at discorde with ID 45BF7EF7.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; datatypes:01 extensively:01 semantically:01 caml's:01 extensional:01 beginner's:01 ocaml:01 bug:01 equality:01 equality:01 beginners:01 arbitrary:01 wrote:01 wrote:01 caml-list:01 Agreed. Such a comparison is useful for libraries which must work with arbitrary datatypes but want to compare as finely as possible. I once wrote a small pure-O'Caml module to do just that, you can download it at http://users.wpi.edu/~squirrel/repos/ocamlrt/fr/fr/genEq.ml. Caveat emptor: it does not work on cyclic structures, and uses Obj extensively so I cannot guarantee it won't crash. It tries first physical equality, then structural equality, so it is semantically different from Caml's = operator in the case of floats. - Chris On 1/30/07, Jacques Carette wrote: > Serious suggestion: I personally would be quite happy with extensional > equality on ground values and intensional equality on function values. > > Jacques > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs >