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
[ANN] ocaml-extunix 0.0.1 released
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2010-11-07 (15:23)
From: ygrek <ygrekheretix@g...>
Subject: [ANN] ocaml-extunix 0.0.1 released

 I am glad to announce the first release of ExtUnix - extended Unix
module. This is a preliminary alpha release, some API may change (based
on your feedback). Implemented bindings :
* fsync fdatasync
* eventfd signalfd
* statvfs fstatvfs
* dirfd openat unlinkat fstatat
* uname
* fadvise fallocate
* ttyname setpgid getpgid setreuid setregid
* realpath
* some ioctls

 This release would have been much less interesting without the major
contributions by Sylvain Le Gall, Stéphane Glondu and Kaustuv Chaudhuri.

 Get it at


 Get source code:
git clone

 Browse source code:;a=summary

 ExtUnix aims to collect thin bindings to various low-level system API
in one library with consistent interface. Project guidelines (verbatim from README):;a=blob_plain;f=README.txt;hb=HEAD

For OCaml programming style, we follow Unix module:
  * Values and types should be named by the name of the underlying C function
  * Raise Unix_error on runtime errors
  * Uniformly raise Not_available exception for functions not available on the
    current platform
  * Be MT friendly by default - i.e. release runtime lock for blocking
    operations, (FIXME) optionally provide ST variants

  * No shell scripting for build and install (think windows :) )
  * Write portable C code (use compiler options to catch compatibility issues),
    NB: msvc doesn't support C99.
  * Provide module (ExtUnix.Specific) exposing only functions available on the
    platform where library is built - i.e. guaranteed to not throw
    Not_available exception (experimental).

[Generated by human]