Google Groups Home Help | Sign in
Typing unmarshalling without marshalling types
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  8 messages - Collapse all
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
Michel Mauny  
View profile
 More options Jun 23 2006, 5:19 am
Newsgroups: fa.caml
From: Michel Mauny <Michel.Ma...@ensta.fr>
Date: Fri, 23 Jun 2006 09:19:23 UTC
Local: Fri, Jun 23 2006 5:19 am
Subject: [Caml-list] Typing unmarshalling without marshalling types
Dear all,

We are pleased to announce a patch for Objective Caml that provides
type safe unmarshalling functions. In short, the main features are:

  - a type for type representations ('a tyrepr, a singleton type)

  - unmarshalling functions like the following:

       SafeUnmarshal.from_string:  'a tyrepr -> string -> int -> 'a

such that

       SafeUnmarshal.from_string ty str off

returns the value whose marshal is the string str (starting at offset
off) and gives it the type (represented by) ty, if possible. If the
value cannot be of type ty, the function fails.

For instance,

       SafeUnmarshal.from_string  [^ ( float *  int ) ^] str 0

asks the (memory representation of the) unmarshalled value to be
compatible with the type (float * int).

  - there is no type information in the marshalled data: marshalling
functions are not modified by this patch.

  - classical (unsafe) unmarshalling functions are still available.

The easiest way to obtained a patched version of OCaml is to download:

  http://www.pps.jussieu.fr/~henry/marshal/src/make_source_tree.sh

and to execute the following sequence:

/make_source_tree.sh ocaml-ty && cd ocaml-ty && ./configure && make worl
d &&
make -C otherlibs/safe_unmarshaling top

The last command of the sequence runs the patched OCaml toplevel.

More information at:

  http://www.pps.jussieu.fr/~henry/marshal/

Have fun,

-- Grégoire Henry and Michel Mauny

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Aleksey Nogin  
View profile
 More options Jun 27 2006, 2:15 pm
Newsgroups: fa.caml
From: Aleksey Nogin <no...@cs.caltech.edu>
Date: Tue, 27 Jun 2006 18:15:46 UTC
Local: Tues, Jun 27 2006 2:15 pm
Subject: Re: [Caml-list] Typing unmarshalling without marshalling types
On 23.06.2006 02:13, Michel Mauny wrote:

> Dear all,

> We are pleased to announce a patch for Objective Caml that provides
> type safe unmarshalling functions.

I've looked at the examples from your web page and it looks really
great! What are the chances of this being included in the "mainstream"
OCaml distribution some time soon?

--
Aleksey Nogin

Home Page: http://nogin.org/
E-Mail: no...@cs.caltech.edu (office), alek...@nogin.org (personal)
Office: Moore 04, tel: (626) 395-2200

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
brogoff  
View profile
 More options Jun 27 2006, 2:47 pm
Newsgroups: fa.caml
From: brogoff <brog...@speakeasy.net>
Date: Tue, 27 Jun 2006 18:47:18 UTC
Local: Tues, Jun 27 2006 2:47 pm
Subject: Re: [Caml-list] Typing unmarshalling without marshalling types

On Tue, 27 Jun 2006, Aleksey Nogin wrote:
> On 23.06.2006 02:13, Michel Mauny wrote:
> > Dear all,

> > We are pleased to announce a patch for Objective Caml that provides
> > type safe unmarshalling functions.

> I've looked at the examples from your web page and it looks really
> great! What are the chances of this being included in the "mainstream"
> OCaml distribution some time soon?

I agree that this is one of those highly desired features for OCaml that
we've been waiting for for a long time. If it were part of the mainstream
distribution, I'd use it.

I'm curious as to what happened to GCaml now. A while ago it appeared that
GCaml would bring overloading, dynamic types, and type safe marshalling to
Caml. Have the main Caml team concluded that folding GCaml into Caml proper is
not a desireable goal?

-- Brian

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jonathan Roewen  
View profile
 More options Jun 28 2006, 5:09 pm
Newsgroups: fa.caml
From: "Jonathan Roewen" <jonathan.roe...@gmail.com>
Date: Wed, 28 Jun 2006 21:09:17 UTC
Local: Wed, Jun 28 2006 5:09 pm
Subject: Re: [Caml-list] Typing unmarshalling without marshalling types
Hi,

I used your shell script to build it, and mkcamlp4 doesn't want to
play nice (complains that odyl.cmo is not a bytecode object file).

Jonathan

On 6/23/06, Michel Mauny <Michel.Ma...@ensta.fr> wrote:

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jonathan Roewen  
View profile
 More options Jun 28 2006, 5:22 pm
Newsgroups: fa.caml
From: "Jonathan Roewen" <jonathan.roe...@gmail.com>
Date: Wed, 28 Jun 2006 21:22:38 UTC
Local: Wed, Jun 28 2006 5:22 pm
Subject: Re: [Caml-list] Typing unmarshalling without marshalling types

> I used your shell script to build it, and mkcamlp4 doesn't want to
> play nice (complains that odyl.cmo is not a bytecode object file).

Ohh, it's a shell script! And ocaml doesn't encode path info for
ocamlc from the setting of prefix in the configure script.

I'm sure that's a quick fix from the ocaml team for the next release :-)

Jonathan

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
skaller  
View profile
 More options Jun 28 2006, 6:22 pm
Newsgroups: fa.caml
From: skaller <skal...@users.sourceforge.net>
Date: Wed, 28 Jun 2006 22:22:56 UTC
Local: Wed, Jun 28 2006 6:22 pm
Subject: Re: [Caml-list] Typing unmarshalling without marshalling types

On Thu, 2006-06-29 at 09:20 +1200, Jonathan Roewen wrote:
> > I used your shell script to build it, and mkcamlp4 doesn't want to
> > play nice (complains that odyl.cmo is not a bytecode object file).

> Ohh, it's a shell script! And ocaml doesn't encode path info for
> ocamlc from the setting of prefix in the configure script.

> I'm sure that's a quick fix from the ocaml team for the next release :-)

It isn't broken. The need to search the environment for the
interpreter is mandated by the requirement scripts invoking
the names of ocaml executables are transparent with respect
to both:

(a) whether the code is bytecode or native code
(b) the machine it runs on

Hard coding the location of the interpreter breaks
requirement (b): it prevents shipping bytecode
from one machine to another because two people may
have installed the interpreter in different places
(indeed may be running different OS!)

If you KNOW you have bytecode you can invoke the
interpreter explicitly, in which case your shell language
already allows you to specify the location.

--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jonathan Roewen  
View profile
 More options Jun 28 2006, 6:30 pm
Newsgroups: fa.caml
From: "Jonathan Roewen" <jonathan.roe...@gmail.com>
Date: Wed, 28 Jun 2006 22:30:09 UTC
Local: Wed, Jun 28 2006 6:30 pm
Subject: Re: [Caml-list] Typing unmarshalling without marshalling types

> It isn't broken. The need to search the environment for the
> interpreter is mandated by the requirement scripts invoking
> the names of ocaml executables are transparent with respect
> to both:

> (a) whether the code is bytecode or native code
> (b) the machine it runs on

> Hard coding the location of the interpreter breaks
> requirement (b): it prevents shipping bytecode
> from one machine to another because two people may
> have installed the interpreter in different places
> (indeed may be running different OS!)

Err, what? OCaml already embeds the full path in bytecode (on
unix-like systems). How should this be any different for an ocaml
compiler tool?

As an example: ocamlmktop DOES embed the full path. Also, paths to
things like stdlib dir etc are full paths embedded in the compiler
tools as well (iirc).

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
skaller  
View profile
 More options Jun 28 2006, 7:19 pm
Newsgroups: fa.caml
From: skaller <skal...@users.sourceforge.net>
Date: Wed, 28 Jun 2006 23:19:47 UTC
Local: Wed, Jun 28 2006 7:19 pm
Subject: Re: [Caml-list] Typing unmarshalling without marshalling types

Then the codes won't be shippable.

> How should this be any different for an ocaml
> compiler tool?

It can be different for an installed tool set of ocaml
tools, but not for external executables such as CL.EXE,
gcc, etc. I not only can but DO upgrade these tools
independently of Ocaml.

Hard coding paths in executables is a bad idea.
The right way to do this is to make the client executables
(or libraries) arguments, and then provide a shell script
which has these arguments hard coded. That way it's easy to
reconfigure your system with a text editor.

IMHO of course. Hard coded paths are easier for dumb usage ..
until you get tied in a knot upgrading things and have no
idea what the problem is because the encoding isn't visible.
Coupling should be explicit -- basic design principle
(see OOSC, Meyer).

--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2008 Google