Browse thread
[Caml-list] best way to implement c/c++ FFI for ocaml ?
-
briand@a...
- Brandon J. Van Every
- Richard Jones
[
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: | Brandon J. Van Every <vanevery@i...> |
| Subject: | RE: [Caml-list] best way to implement c/c++ FFI for ocaml ? |
Brian wrote:
>
> Is the swig implementation for ocaml in useful shape ?
As of April 2004, the OCaml support in SWIG http://www.swig.org was only
being used by the author of said support.
http://mailman.cs.uchicago.edu/pipermail/swig/2004-April/009508.html
I have not followed up on it since then, but I keep almost finding a
reason to do so. My interest is tied to the issue of Ocaml-ifying the
Nebula2 3D engine, http://nebuladevice.cubik.org . It is a C++ engine
so this is a big job.
Cheers, www.indiegamedesign.com
Brand*n Van Every S*attle, WA
Praise Be to the caml-list Bayesian filter! It blesseth
my postings, it is evil crap! evil crap! Bigarray!
Unboxed overhead group! Wondering! chant chant chant...
Is my technical content showing?
// return an array of 100 packed tuples
temps
int $[tvar0][2*100]; // what the c function needs
value $[tvar1]; // one int
value $[tvar2]; // one tuple
int $[tvar3] // loop control var
oncePre
eachPre
$[cvar0]=&($[tvar0][0]);
eachPost
$[lvar0] = alloc(2*100, 0 /*NB: zero-tagged block*/ );
for(int $[tvar3]=0;$[tvar3]<100;$[tvar3]++) {
$[tvar2] = alloc_tuple(2);
$[tvar1] = Val_int($[cvar0][0+2*$[tvar3]]);
Store_field($[tvar2],0,$[tvar1]);
$[tvar1] = Val_int($[cvar0][1]);
Store_field($[tvar2],1,$[tvar1+2*$[tvar3]]);
Array_store($[lvar0],$[tvar3],$[tvar0]);
}
oncePost
-------------------
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