From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA30933; Mon, 3 Nov 2003 15:02:15 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id PAA30758 for ; Mon, 3 Nov 2003 15:02:14 +0100 (MET) Received: from inria.fr (macaque.inria.fr [128.93.8.158]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id hA3E2D107342 for ; Mon, 3 Nov 2003 15:02:13 +0100 (MET) Date: Mon, 3 Nov 2003 15:03:01 +0100 Subject: Re: [Caml-list] undocumented external ... = "%identity" Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v552) From: Damien Doligez To: caml-list@inria.fr Content-Transfer-Encoding: 7bit In-Reply-To: <20031101082216.GB26261@fistandantilus.takhisis.org> Message-Id: <6F818717-0E06-11D8-B422-00039310CAE8@inria.fr> X-Mailer: Apple Mail (2.552) X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 undocumented:01 damien:01 damien:01 runtime:01 runtime:01 compiler:01 compiler:01 ocaml:01 ocaml:01 doligez:01 doligez:01 imply:02 backward:02 external:03 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk 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