Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] adding an ocaml interpreter to my C program
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Kip Macy <kmacy@f...>
Subject: Re: [Caml-list] adding an ocaml interpreter to my C program
Thanks. Not quite as trivial as it is with perl, but not a major
undertaking.

					-Kip


On Wed, 7 Jan 2004, Richard Jones wrote:

> On Wed, Jan 07, 2004 at 01:01:00AM -0800, Kip Macy wrote:
> > It is possible to add many scripting languages as configuration
> > languages for an arbitrary C program. One can transfer control
> > to the interpreter, let it use the C bindings to modify program
> > state, and then get control back. I'll give perl as an example:
> [...]
> > I don't see any obvious way of doing this with ocaml.
>
> It's documented here (right at the bottom, in the "Advanced" section):
>
> http://caml.inria.fr/ocaml/htmlman/manual032.html
>
> Basically, you call caml_main, which runs your initialization code
> (written in OCaml), which registers C callbacks, which your C can then
> execute by calling callbackN ().
>
> What the manual doesn't tell you is that none of this stuff works at
> all if your C code is contained in a dynamically linked library (.so
> file), unless you undertake some pretty horrific hacks.  Particularly
> if you plan to use the OCaml Dynlink module at the same time.  See the
> code in my mod_caml project[1] for details.
>
> Also, it only works for bytecode.  (And it only works for compiled
> code - linking in the toplevel so you can parse ML directly is a
> different thing entirely).
>
> > I'm using perl as a powerful macro language for gdb by just doing:
> > (gdb) sourceperl mycoreanalyser.pl
> > <OUTPUT>
>
> You might also be interested in [2].
>
> Rich.
>
> [1] http://www.merjis.com/developers/mod_caml/
> [2] http://www.merjis.com/developers/perl4caml/
>
> --
> Richard Jones. http://www.annexia.org/ http://freshmeat.net/users/rwmj
> Merjis Ltd. http://www.merjis.com/ - improving website return on investment
> If I have not seen as far as others, it is because I have been
> standing in the footprints of giants.  -- from Usenet
>

-------------------
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