Browse thread
Changes on equality between 3.06 and 3.08.3
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | michel@l... |
| Subject: | Changes on equality between 3.06 and 3.08.3 |
Hi dear ocamlers,
I just noticed the following change in Ocaml between release 3.06 and 3.08.3, as far
as equality on records is concerned :
////////////////////////////////////////////////////////////////////////////////
//
//release 3.06
//
dellfp-3 7 > /ocaml
Objective Caml version 3.06
# type toto = { b : int -> int; } ;;
type toto = { b : int -> int; }
# let a = { b = (fun x -> x) } ;;
val a : toto = {b = <fun>}
# a = a;;
- : bool = true
//
//release 3.08.3
//
dellfp-3 8 > ocaml
Objective Caml version 3.08.3
# type toto = { b : int -> int; };;
type toto = { b : int -> int; }
# let a = { b = (fun x -> x) } ;;
val a : toto = {b = <fun>}
# a = a;;
Exception: Invalid_argument "equal: functional value".
////////////////////////////////////////////////////////////////////////////////
Is this supposed to be a bug, or a feature ? Will future releases of Ocaml follow
the new way of handling equality between records or the old one ?
Best regards,
Olivier.
--
Olivier MICHEL Email : michel@lami.univ-evry.fr
Universite d'Evry Val d'Essonne http : www.lami.univ-evry.fr/~michel
Equipe Specif / Projet MGS http : mgs.lami.univ-evry.fr
LaMI - UMR 8042 du CNRS Phone : +33 (0)1.60.87.39.10
523, place des terrasses de l'agora Fax : +33 (0)1.60.87.37.89
91000 Evry - FRANCE