<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE message PUBLIC
  "-//MLarc//DTD MLarc output files//EN"
  "../../mlarc.dtd"[
  <!ATTLIST message
    listname CDATA #REQUIRED
    title CDATA #REQUIRED
  >
]>

  <?xml-stylesheet href="../../mlarc.xsl" type="text/xsl"?>


<message 
  url="2003/07/fc14ef26b85e295dd4c0b37cdff89fa2"
  from="James Leifer &lt;James.Leifer@i...&gt;"
  author="James Leifer"
  date="2003-07-17T07:56:36"
  subject="Re: [Caml-list] adding data persistency in Ocaml..."
  prev="2003/07/e098218c5547829c62c6d7fa6ccb376d"
  next="2003/07/739bd950bd9b10477d05a8498b7920ec"
  prev-in-thread="2003/07/4ce27bc8feeb958ab9b2986f4ec92686"
  next-in-thread="2003/07/cac950042bd03df93cd818ce47225b44"
  prev-thread="2003/07/43c6e1f7fe38ab1e1d38f0639203f3c5"
  next-thread="2003/07/f75742930f259f2a644535abf083b2fb"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] adding data persistency in Ocaml...">
<msg 
  url="2003/07/8aeb8cebae576f740cf9fd73099a7b37"
  from="Basile STARYNKEVITCH &lt;basile@s...&gt;"
  author="Basile STARYNKEVITCH"
  date="2003-07-10T11:33:06"
  subject="[Caml-list] adding data persistency in Ocaml...">
<msg 
  url="2003/07/4f4b5ead625652da83b1005890f3e813"
  from="Erik Arneson &lt;erik@a...&gt;"
  author="Erik Arneson"
  date="2003-07-10T15:03:23"
  subject="Re: [Caml-list] adding data persistency in Ocaml...">
</msg>
<msg 
  url="2003/07/4ce27bc8feeb958ab9b2986f4ec92686"
  from="Pierre Weis &lt;pierre.weis@i...&gt;"
  author="Pierre Weis"
  date="2003-07-11T22:05:56"
  subject="Re: [Caml-list] adding data persistency in Ocaml...">
<msg 
  url="2003/07/fc14ef26b85e295dd4c0b37cdff89fa2"
  from="James Leifer &lt;James.Leifer@i...&gt;"
  author="James Leifer"
  date="2003-07-17T07:56:36"
  subject="Re: [Caml-list] adding data persistency in Ocaml...">
</msg>
</msg>
<msg 
  url="2003/07/cac950042bd03df93cd818ce47225b44"
  from="John Max Skaller &lt;skaller@o...&gt;"
  author="John Max Skaller"
  date="2003-07-13T09:55:12"
  subject="Re: [Caml-list] adding data persistency in Ocaml...">
</msg>
</msg>
</thread>

<contents>
Hello Basile,

Pierre Weis &lt;pierre.weis@inria.fr&gt; writes:
...
&gt; discussed in long the difference between writing then reading back
&gt; values from a single executable and transferring data among unrelated
&gt; 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

</contents>

</message>

