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 JAA00762; Thu, 17 Jul 2003 09:56:36 +0200 (MET DST) 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 JAA04894 for ; Thu, 17 Jul 2003 09:56:35 +0200 (MET DST) Received: from brouilly.inria.fr (brouilly.inria.fr [128.93.8.4]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id h6H7uYf13340; Thu, 17 Jul 2003 09:56:34 +0200 (MET DST) Received: by brouilly.inria.fr (Postfix, from userid 11404) id 402674145; Thu, 17 Jul 2003 09:56:34 +0200 (CEST) To: caml-list@inria.fr Cc: basile@starynkevitch.net (Basile STARYNKEVITCH), Peter Sewell , Gilles.Peskine@inria.fr, Keith Wansbrough Subject: Re: [Caml-list] adding data persistency in Ocaml... Reply-To: James Leifer From: James Leifer References: <200307112205.AAA00369@pauillac.inria.fr> Date: Thu, 17 Jul 2003 09:56:34 +0200 Message-ID: User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/20.7 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 persistency:01 basile:01 pierre:01 weis:01 type-safe:01 marshalling:01 abstraction:01 hashes:01 run-time:01 hash:01 types'':01 functors:01 versioning:01 interns:99 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hello Basile, Pierre Weis writes: ... > discussed in long the difference between writing then reading back > values from a single executable and transferring data among unrelated > programs ... We (J.J. Leifer, G. Peskine, P. Sewell, K. Wansbrough) have worked on a theory of type-safe marshalling for values of abstract types. The theory ensures type and abstraction safety when communicating between separately built programs. The idea is to calculate hashes (fingerprints) of modules to generate type identifiers for abstract types that are globally meaningful. These hashes are then compared at run-time in a dynamic check when unmarshalling. The ICFP paper about this is ``Global abstraction-safe marshalling with hash types'': http://pauillac.inria.fr/~leifer/research.html There are limitations to the current theory (no polymorphism, no functors, no reference cells, no versioning, no dynamic binding, ...) that we are working to overcome. Peskine is interested in the polymorphism question and may try to do an implementation of safe marshalling for Ocaml. Some of Sewell's interns are also working on implementations of various aspects of this in a toy ``mini'' Caml language. Basile, come visit us in MOSCOVA (Batiment 8) if you'll be in Rocq! Best regards, James -- James LEIFER, MOSCOVA Project, INRIA Rocquencourt ------------------- 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