Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] undocumented external ... = "%identity"
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Damien Doligez <damien.doligez@i...>
Subject: Re: [Caml-list] undocumented external ... = "%identity"
On Saturday, November 1, 2003, at 09:22 AM, Stefano Zacchiroli wrote:

> The fact that Obj.magic _implementation_ depends on the entire
> implementation of the OCaml compiler and runtime, doesn't imply that 
> its
> _interface_ does as well.

Depends on what you mean by "interface".  The _specification_ of 
Obj.magic
depends on many implementation choices of the compiler and runtime.

> If I'm using Obj.magic I'm supposed to know what I'm doing (the 
> examples
> reported in the post you mentioned are significative here) and that I'm
> sure that the type magic I'm doing are correct. In such a case the
> correctness of those magics will change only when the assumption on
> which their correction rely changes, for example a change in the type
> system.

... or a change in the data representations used by the compiler and
runtime.

> Such major changes are usually backward compatibile, if not I suppose
> the Obj.magic forward porting problem will be the minor problem
> programmer will have with a new ocaml release ...

Not true.  We can make changes that break many uses of Obj.magic without
changing the language or the type system.  That's why Obj.magic is not
documented.

-- Damien

-------------------
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