From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 27D27BBCA; Thu, 28 Feb 2008 16:29:48 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAEdixkfAXQImh2dsb2JhbACQcQEBAQgKKZx9 X-IronPort-AV: E=Sophos;i="4.25,419,1199660400"; d="scan'208";a="8726005" Received: from discorde.inria.fr ([192.93.2.38]) by mail1-smtp-roc.national.inria.fr with ESMTP; 28 Feb 2008 16:29:47 +0100 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m1SFTlBS032531 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK); Thu, 28 Feb 2008 16:29:47 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAGtixkfBMVMQk2dsb2JhbACQcQEBAQEHBAYJIJx3 X-IronPort-AV: E=Sophos;i="4.25,419,1199660400"; d="scan'208";a="23167476" Received: from minbis.univ-orleans.fr (HELO min.univ-orleans.fr) ([193.49.83.16]) by mail4-smtp-sop.national.inria.fr with ESMTP; 28 Feb 2008 16:29:47 +0100 Received: from smtps.univ-orleans.fr (localhost [127.0.0.1]) by min.univ-orleans.fr (Postfix) with ESMTP id E871612B415; Thu, 28 Feb 2008 16:29:46 +0100 (CET) Received: from [172.21.188.231] (nat.ensi-bourges.fr [195.221.38.254]) by smtps.univ-orleans.fr (Postfix) with ESMTP id 4C49F36E5B; Thu, 28 Feb 2008 16:29:49 +0100 (CET) Subject: Re: [Caml-list] Safe Obj.magic container ? From: David Teller To: Damien Doligez Cc: caml users In-Reply-To: References: <1204103370.7718.18.camel@Blefuscu> <20080227094329.GC13254@yquem.inria.fr> <37B36607-9F22-4537-B4DB-1E04348E2B90@inria.fr> Content-Type: text/plain Date: Thu, 28 Feb 2008 16:29:46 +0100 Message-Id: <1204212586.11218.21.camel@Blefuscu> Mime-Version: 1.0 X-Mailer: Evolution 2.12.1 Content-Transfer-Encoding: 7bit X-Miltered: at discorde with ID 47C6D36B.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; univ-orleans:01 0100,:01 damien:01 univ-orleans:01 lifo:01 liquidations:98 polymorphic:01 doligez:01 wrote:01 exception:01 caml-list:01 exceptions:01 unsafe:01 variant:02 represented:02 Interesting. Can I assume that, if my type is boxed (in this case, a polymorphic variant), I can successfully convert it to Obj.t and back ? Thanks, David On Thu, 2008-02-28 at 15:23 +0100, Damien Doligez wrote: > If that was the whole story, Obj.magic would be pretty safe. But > there are exceptions to the uniform representation of values, and > they make Obj.magic really hard to use. > > The most important exception is floating-point numbers. They are > not always represented as one word each, and that means even > Obj.repr is unsafe. -- David Teller Security of Distributed Systems http://www.univ-orleans.fr/lifo/Members/David.Teller Angry researcher: French Universities need reforms, but the LRU act brings liquidations.