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=0.0 required=5.0 tests=none 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 096B6BC0B for ; Wed, 31 Jan 2007 01:13:29 +0100 (CET) Received: from sigma957.cis.mcmaster.ca (sigma957.CIS.McMaster.CA [130.113.64.83]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l0V0DSKg021118 for ; Wed, 31 Jan 2007 01:13:28 +0100 Received: from Dura7.UTS.McMaster.CA (dura7.UTS.mcmaster.ca [130.113.196.62]) by sigma957.cis.mcmaster.ca (8.13.7/8.13.7) with ESMTP id l0V0DIRt005509; Tue, 30 Jan 2007 19:13:24 -0500 (EST) Received: from cgpsrv2.cis.mcmaster.ca (univmail.CIS.McMaster.CA [130.113.64.46]) by Dura7.UTS.McMaster.CA (8.13.7/8.13.7) with ESMTP id l0V0Cr66031537; Tue, 30 Jan 2007 19:12:53 -0500 Received: from [130.113.68.27] (account carette@univmail.cis.mcmaster.ca [130.113.68.27] verified) by cgpsrv2.cis.mcmaster.ca (CommuniGate Pro SMTP 4.1.8) with ESMTP id 160020799; Tue, 30 Jan 2007 19:12:53 -0500 Message-ID: <45BFDF8C.20609@mcmaster.ca> Date: Tue, 30 Jan 2007 19:15:08 -0500 From: Jacques Carette Organization: McMaster University User-Agent: Thunderbird 1.5.0.9 (Windows/20061207) MIME-Version: 1.0 To: Andrej.Bauer@andrej.com Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Equality of functional values References: <1170104645.4564.304.camel@penguin.local> <45BF471A.6060603@fmf.uni-lj.si> <1170165303.6391.20.camel@rosella.wigram> <45BFCF7D.5010302@fmf.uni-lj.si> In-Reply-To: <45BFCF7D.5010302@fmf.uni-lj.si> Content-Type: text/plain; charset=ISO-8859-2; format=flowed Content-Transfer-Encoding: 7bit X-PMX-Version-Mac: 4.7.1.128075, Antispam-Engine: 2.4.0.264935, Antispam-Data: 2007.1.30.153933 X-PerlMx-Spam: Gauge=IIIIIII, Probability=7%, Report='__CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __HAS_MSGID 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __SANE_MSGID 0, __USER_AGENT 0' X-Miltered: at discorde with ID 45BFDF28.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; andrej:01 ocaml:01 pointer:01 ocaml's:01 ocaml's:01 equality:01 equality:01 wrote:01 caml-list:01 functions:01 exceptions:01 define:01 suggesting:02 functional:02 functional:02 Andrej Bauer wrote: > Jacques Carette said he would be happy with an intensional notion of > equality of functions. Surely Jacques, you would want some guarantees > about such an equality to make it useful, otherwise one could just define > > let reallySillyIntensionalEquality f g = false I really meant 'Intensional equality', in other words, if they are the same as far as the system is concerned (in a logic this usually this means the same syntactically, but in the case of ocaml that would be pointer equality). > So are you suggesting something other than ocaml's == ? What > guarantees would you expect? I was under the impression that ocaml's == did funny things with respect to floats? I want an equality that is "powerful" on ground values and == on functional values (ie no exceptions when == is not true). Jacques