Browse thread
XQuery Implementation: Galax version 0.5.0 available
-
Mary Fernandez
-
skaller
- Mary Fernandez
-
skaller
[
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: | -- (:) |
| From: | Mary Fernandez <mff@r...> |
| Subject: | Re: [Caml-list] XQuery Implementation: Galax version 0.5.0 available |
It's not hard, really, just tedious. Unfortunately, the Caml IDL tool only generates wrapper code for calling C from O'Caml, not vice versa, so we write that code by hand. In short: C_API_stub.c - contains our C API. This code handles converting C values to O'Caml values, setting up actual arguments to O'Caml functions, then calling the O'Caml callback functions. There's some messy memory/heap management code in here too Caml_API_stub.ml - contains wrapper functions that are called from C API. These functions are registered using the Callback module. They call our real Caml API. We create a shared library that contains our Caml library, the C_API stub, and the O'Caml runtime system. (IT's BIG!) And that gets linked with the user's C program. I hope that makes sense. Mary On Wed, 2005-02-16 at 20:19, skaller wrote: > On Thu, 2005-02-17 at 11:40, Mary Fernandez wrote: > > > Galax provides APIs for O'Caml, C, and Java and is implemented in > > O'Caml. > > I'm curious how you provide a CAPI for Ocaml code? -- Mary Fernandez <mff@research.att.com> AT&T Labs - Research