Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] On the equality of functional values
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Pierre Weis <pierre.weis@i...>
Subject: Re: [Caml-list] On the equality of functional values
> David Monniaux wrote:
> > On Sun, 27 Oct 2002, Alessandro Baretta wrote:
> > 
> > 
> > If I remember well, = is implemented by doing first a == (equality of
> > pointers) test, and returning true if that test succeeds; otherwise,
> > the more complex recursive equality test is performed, which fails with
> > an exception if it encounters functional values.
> > 
> > So if x and y are the same closure, x=y succeeds and yields the true
> > value. Otherwise, it throws an exception.
> 
> This is what I suspected. I wonder if this behavior conforms 
> to specification, or if it is an incidental concequence of 
> the implementation of (=).
> 
> Alex

This is in the spec of = and ==.

This is explained in large in the FAQ:

-- What's the difference between = and == ?
   http://pauillac.inria.fr/caml/FAQ/FAQ_EXPERT-eng.html#egalite
-- How to compare functional values ?
   (Invalid_argument "equal: functional value") ?
   http://pauillac.inria.fr/caml/FAQ/FAQ_EXPERT-eng.html#egalitefonctionnelle

Best regards,

Pierre Weis

INRIA, Projet Cristal, Pierre.Weis@inria.fr, http://pauillac.inria.fr/~weis/


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners