Hello,
Here is the latest Caml Weekly News, for the week of December 18, 2007 to January 01, 2008.
Happy New Year!
1) Ocaml 3.10.1 release candidate 2) OCaml meeting in Paris -- subscription is opened 3) Objective C - Objective Caml bridge for Mac OS X 4) OCaml-Ming 5) glMLite 6) OCaml-Allegro
======================================================================== 1) Ocaml 3.10.1 release candidate ------------------------------------------------------------------------ ** Damien Doligez announced:
It is my pleasure to announce that release 3.10.1 is imminent.
At this time, I have made a release candidate available at
This is a source-only release intended for final testing. Please try it If it works on your favorite architecture, tell me. If it doesn't work, tell me too.
The bug fixes included in this release are detailed in the Changes file. ** Daniel de Rauglaudre then said:
For those who want to test it with Camlp5, I added the compatibility with OCaml 3.10.1 (which was missing, because I didn't know that this version number was in preparation).
It is Camlp5 5.06 available at: ======================================================================== 2) OCaml meeting in Paris -- subscription is opened ------------------------------------------------------------------------ ** Sylvain Le Gall announced:
I hereby declare that we are looking for participants.
The meeting will be in Paris at ENST on January, the 26th 2008.
The proposed schedule is: * Begin at 10am * Short talks in the morning: GODI, ocamlbuild, Debian * Lunch * Workshops in the afternoon until 6pm * Dinner in Paris
You can subscribe by editing the following page:
If you want to come, you must subscribe, since the access will be restricted.
I am also looking for people that wish to help the organization (video...) ======================================================================== 3) Objective C - Objective Caml bridge for Mac OS X ------------------------------------------------------------------------ ** Francois Rouaix announced:
Folks,I've just opened up an svn on This is an alpha-level release of a bridge between OCaml and Objective C (or more precisely, Cocoa APIs) for MacOSX. It's been barely tested, only w/ ocamlc 3.09.3 and Tiger 10.4.11 and still lacks many features (e.g. invoking OCaml methods from ObjC). However, it gets an "Hello World" command-line program compiled and running, all from automatically generated stubs. Don't expect to understand much of the bridge's technical aspects unless you're expert-level in OCaml (objects, labels, C-interface) and intermediate in ObjectiveC (NSInvocation, Foundation, AppKit).
At this point I'm looking for feedback on naming conventions, overall expectations on verbosity and utilization. Start w/ reading the Wiki if you're interested, and shoot me an email. License is (new) BSD style. ======================================================================== 4) OCaml-Ming ------------------------------------------------------------------------ ** Florent Monnier announced:
OCaml bindings for the Ming library, a library to create Flash animations.
(the state is still alpha)
You can browse the interface ocamldoc:
Several code samples are provided in the tar-ball.
Here is an exemple of script with the object interface which is made to be as close as possible to the PHP interface: (the PHP interface is well documented) ======================================================================== 5) glMLite ------------------------------------------------------------------------ ** Florent Monnier announced:
OCaml bindings for OpenGL.
(Samples from the Red-Book translated to OCaml are provided.)
You can have a look at the interface generated documentation here: ** Stefano Zacchiroli and Jan Rehders asked, and Florent Monnier answered:
> > Can you please compare glMLite with LablGL [1]? > ... and glcaml [2] :)
I can't since LablGL doesn't work on my computer (Mandriva and Mesa). That's the reason why I did my own binding. All I can say is that LablGL has a more camlize interface while my binding keeps the openGL function names unchanged. (but a wrapper module makes it possible to use glMLite with LablGL's interface, and by the way it is possible to run Lablgl scripts with glMLite.) When the problem with LablGL was uncountered I have mailed the author, but we have not been able to find the reason of the problem with LablGL, so...
[Florent Monnier added in a later message]
I have never used glcaml. When I have begin my binding, glcaml was not release yet, so that's why I begun my own. What I can say as difference from reading the generated documentation is that each of the 3 openGL binding resolve the problem of the GLenum parameters (that often collide between several functions) in a different way. GLCaml provides one big glenum type that contains all the parameters for all the functions (so it seems there is no type check at all), LablGL uses polymorphic variants, and glMLite packs the problematic types in modules. So users have the choice :)
** Jon Harrop added:
While we're on the subject, perhaps I can productively compare LablGL and GLCaml:
LablGL is by far the most widely used and, therefore, tested of the OpenGL bindings available for OCaml. According to the package popularity contests, LablGL has 412 registered installs on Debian and Ubuntu. This library is ideal for people who are less familiar with OpenGL because it provides a higher-level and safer API. However, LablGL only supports OpenGL 1.
GLCaml are the most up-to-date bindings to OpenGL for OCaml, supporting the latest OpenGL 2 API. This library uses an OCaml program to generate the bindings automatically, which makes it much easier to keep up to date but lower-level. This library is ideal for people who require OpenGL 2 but is not as thoroughly tested as LablGL (no packages) and, consequently, contains bugs.
I'm not quite sure where Florent's bindings fit in because they lack packages and users like GLCaml and lack support for OpenGL 2 like LablGL.
I recently wrote several OpenGL 2 shader demos in OCaml using Elliott Oti's GLCaml bindings. I filed two bug reports in the process. I'm hoping the community can pull together to get these state-of-the-art bindings tested and shipped in deb packages. I'd like this to be the future of OpenGL for OCaml because the autogenerated bindings make the latest OpenGL features accessible to expert users and higher-level bindings can easily be written to help newbie users.
We'll refrain from writing OCaml Journal articles about GLCaml until it has stabilized but several people have expressed an interest in a 3D scene graph library for OCaml which I can create for GLCaml easily from part of Smoke's source code. ======================================================================== 6) OCaml-Allegro ------------------------------------------------------------------------ ** Florent Monnier announced:
I have released OCaml-Allegro, an OCaml binding for Allegro. Allegro is a cross-platform library intended for use in computer games and other types of multimedia programming.
It is available here:
You can have a look at the interface generated documentation here:
Some exemples from the original Allegro source package are provided converted in OCaml. (Feedback on the binding with these exemples is wellcome.)
You can read an introduction of the library on Wikipedia: or more details, description and documentation on the official website: ======================================================================== Using folding to read the cwn in vim 6+ ------------------------------------------------------------------------ Here is a quick trick to help you read this CWN if you are viewing it using vim (version 6 or greater).
:set foldmethod=expr :set foldexpr=getline(v:lnum)=~'^=\\{78}$'?'<1':1 zM If you know of a better way, please let me know.
======================================================================== Old cwn ------------------------------------------------------------------------
If you happen to miss a CWN, you can send me a message to receive it every week by mail, you may subscribe online at
========================================================================
--
The hacker: someone who figured things out and made something cool happen. .O. ..O OOO
|