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-01 (08:22)
From: Stefano Zacchiroli <zack@b...>
Subject: Re: [Caml-list] undocumented external ... = "%identity"
On Fri, Oct 31, 2003 at 02:47:48AM -0500, William Lovas wrote:
> Obj.magic's "behavior" *is* subject to change, since it depends upon
> the underlying representation of values.  The Obj module's
> documentation is, in a very real sense, the entire implementation of
> the O'Caml compiler and runtime.

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.

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

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

If I look at the post you mentioned, I see that it's from January 1999,
and Obj.magic usage seems to be exactly the same as today.

> Such "okay" uses are sufficiently bizarre, though, that it makes sense to
> leave the Obj module undocumented -- anyone who needs it will already
> understand how it works.

Poor point, I still don't think such a feature should be mentioned just
on this mailing list and in the lablgtk code. Why not adding it to the
documentation with a huge disclaimeir?


Stefano Zacchiroli  --  Master in Computer Science @ Uni. Bologna, Italy
zack@{,,}  -
"  I know you believe you understood what you think I said, but I am not
sure you realize that what you heard is not what I meant!  " -- G.Romney

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