Previous week   Up   Next week

Here is the latest Caml Weekly News, weeks 17 to 23 april, 2002. 

1) Contract Position for C++/ML programmer at Microsoft Research, Cambridge
2) OCamlSDL
3) ocaml curses library?
4) CamlTk/Windows

1) Contract Position for C++/ML programmer at Microsoft Research, Cambridge
Don Syme announced:

Job Description

6 Month Contract Position for C++/ML programmer at Microsoft Research,

Primary aim: Delivering Generics in the "Rotor" .NET Common Language

Microsoft Research, Cambridge have a vacancy for a 6 month contract
position to assist with out ongoing research project to implement
support for parametric polymorphism (templates/generics) in Microsoft's
new programming language C# and the .NET Common Language Runtime.
Andrew Kennedy and Don Syme have published a paper on this at PLDI 2001
describing the basic design.

Microsoft has release a shared source version of the .NET CLR, called
"Rotor" or the "Shared Source Common Language Infrastructure" (SSCLI),
initially available for FreeBSD and Microsoft Windows.  We are
interested in seeing a public release of our generics work implemented
within the Rotor code base.  As such, we are looking to hire a skilled
programmer to work with us on a contract basis for 6 months or so.  The
first 3 months would be spent preparing a release of generics for Rotor,
and the remaining time would be spent working in collaboration with the
Rotor team and users to ensure stability.  If time permits we would also
investigate performance and design improvements.  We may also ask the
person to work on some of our related projects, in particular two .NET
compilers for ML languages, one of which features excellent .NET
language interoperability, and the other of which targets the our
generics design and can be used for performance testing.

The job will require the candidate to show real enthusiasm for the end
product (the world's first shared source implementation of parametric
polymorphism in an object-based runtime) and good C/C++ coding skills.
Experience with native code compiler implementation, Rotor, ML and/or
virtual machine implementation would be highly regarded. Most
importantly it will also be necessary to have the patience required to
deal with real-world software development, and of course all the
attention to detail that is needed to produce a software release!

For more information contact Dr Don Syme (, or
submit your CV to .  See also <>  for
general information about Microsoft Research.

2) OCamlSDL
Luc Mazardo announced:

The goal of OCamlSDL is to provide access the multimedia hardware
in the ML programming language with the help of the SDL library.
The Simple DirectMedia Layer is a generic API that provides low
level access to audio, keyboard, mouse, and display framebuffer across
multiple platforms.

here is a part of HISTORY file:

Release 0.5:
        * Ocamlplayer has been added, it provides to play audio file
          (ogg,xm, s3m, wav) on the commande line.

        * Applying many patches.

You can look at the website for retreving infos, documentations and
downloading the new release.

We always need some feedback.

3) ocaml curses library?
Michael Vanier asked and Jérôme Marant answered:

> Is there an "official" ocaml binding to the unix curses library?  I
> know that curses is used in the manual as an example of linking c code
> to ocaml, but it's incomplete and I was wondering if there was
> anything pre-packaged that I could just grab and compile.

  You might want to look at this

4) CamlTk/Windows
Xavier Leroy said and Christophe Macabiau corrected:

> Camltk is (for the time being) Unix-only.  Although Cygwin does heroic
> efforts to emulate Unix, it's not quite Unix and I'm not surprised
> that Camltk doesn't compile right out of the box under Cygwin.

CamlTk compiles under Windows !

You can have a look at SynDEx, which is written using CamlTk :

It's true that it's a little difficult to compile with Cygwin, various
reasons :
* you don't have the good version of Cygwin; I use the version 1.1.8-2
 (one day I tried another version unsucessfully)
* maybe you have a problem with the configure script; in this case you
  must report to Pierre Weis and Jun Furuse who maintain CamlTk.

SynDEx is written with CamlTk, but no depends on cygwin.dll. Dmitry Bely
and Masakazu Fukuzawa made a patch of OCaml-3.03 to compile OCaml with
mingw ( ) which allows to compile under windows
without to rely on  3rd party DLL; instead of using cygwin.dll, it use
Microsoft's standard C runtime  library MSVCRT.DLL. We adapted this
patch to the version 3.04 of OCaml. That's what I use to compile SynDEx.

We have discussed with the Ocaml team to include this patch in the next
version of Ocaml, to be able to compile with mingw; I don't know if they
took a decision... Maybe it would be useful to distribute this patch on
the Camltk web ?  

It would be great for Ocaml users who work under Windows (it's not a
shame) to be  allowed to use Camltk (it's a joke...)


Alan Schmitt