Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

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: 2003-11-03 (14:02)
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 
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

> 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

-- Damien

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: