Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
OCaml && COCOA-Environment (Mac-OS-X/GUI)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2005-02-06 (21:04)
From: Paul Snively <psnively@m...>
Subject: Re: [Caml-list] OCaml && COCOA-Environment (Mac-OS-X/GUI)
Hash: SHA1

On Feb 5, 2005, at 11:51 AM, Mike Hamburg wrote:

> Additionally, I developed a very rudimentary binding.  It allowed the 
> user to call Cocoa methods from O'Caml, but it had an enormous 
> overhead: each method invocation from O'Caml had the overhead of about 
> 5 method calls from the C glue.  There was a (somewhat more efficient) 
> Cocoa-to-O'Caml call method, but I don't remember if I ever finished 
> it.
> Paul Snively, Nick Burlett and I were working on a more efficient 
> bridge, by means of parsing Cocoa headers to automatically generate 
> typed bindings which would look like objects to O'Caml, but the 
> project fizzled without any real results.  Perhaps someone with more 
> FrontC knowledge could resurrect it.  The existing code is not 
> strongly typed: you can attempt to pass the wrong number or type of 
> arguments to a method, and it will raise an O'Caml exception instead 
> of rejecting it at compile time.
> The O'Caml-to-Cocoa bridge is not online, but I can send you what code 
> we have if you want.
Mea culpa. I'm still very interested. I can't help but think that 
extending Jeff Henrikson's Forklift FFI to handle Objective-C and 
marrying that to an (improved? revised?) version of your bindings 
wouldn't be a big win, but I confess to having no real roadmap for how 
to get there, and my Copious Free Time(tm) is rather torn between 
wanting to get O'Caml going natively on OS X and wanting to plow 
through TAPL and now ATITAPL and master MetaPRL and concentrate on 
learning how to design modern programming languages.

But at the very least, I'd love to see the current state of your code. 

> Mike Hamburg
Many thanks and best regards,

Version: GnuPG v1.4.0 (Darwin)