Version française
Home     About     Download     Resources     Contact us    
Browse thread
Changes on equality between 3.06 and 3.08.3
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jon Harrop <jon@f...>
Subject: Re: [Caml-list] Changes on equality between 3.06 and 3.08.3
On Thursday 28 April 2005 18:06, Olivier Andrieu wrote:
>  > Alex Baretta [Thu, 28 Apr 2005]:
>  > Actually, an interesting question related to this one is why the
>  > following line behaves as it does.
>  >
>  > # (==) (==) (==);;
>  > - : bool = false
>
> Probably because == is defined by an "external" in pervasives.ml, not
> a regular function definition. So here, when you use (==), you're
> building three closures.

# let f = (==) in (==) f f;;
- : bool = true

Interesting. I don't like it, but it's interesting. :-)

-- 
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
Objective CAML for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists