[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2004-01-26 (10:56) |
From: | James Leifer <James.Leifer@i...> |
Subject: | Re: [Caml-list] Marshalling unknown types |
We (Gilles Peskine, Peter Sewell, Keith Wansbrough, and I) have been working on type safety and related questions concerned with marshalling: http://pauillac.inria.fr/~leifer/articles/leifer-globas-icfp2003.ps.gz http://pauillac.inria.fr/~leifer/articles/leifer-marabreb.ps.gz However, we're far from a patch to the actual Ocaml compiler right now. We've rather concentrated on building a prototype ML interpreter which we can use for exploring the design space (type safety, abstraction safety, versioning, dynamic rebinding to local resources, etc.). If you don't need abstraction safety, then Jun Furuse's work on safe marshalling might interest you. Michel Mauny might be reimplementing this for 3.07? Richard Jones said: > What's needed is for someone to rewrite the marshal code to work > safely. However there's not enough type information available at > runtime for this to work. eg. [1; 2; 3] looks the same as (1, 2, 3) > at runtime. Well... Peter, Xavier, and I were scratching our heads at POPL two weeks ago and said: For a really polymorphic marshal then you need to pass some type information around at run-time or introduce user type representations. Of course, if you know *at compile time* that you're marshalling or unmarshalling to an int list or an int triple, there's no problem distinguishing between those cases (and including the right data for doing the dynamic type check). -James ------------------- 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