Version française
Home     About     Download     Resources     Contact us    
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: -- (:)
From: ygrek <ygrekheretix@g...>
Subject: [ANN] ocaml-extunix 0.0.1 released
Hello,

 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 https://forge.ocamlcore.org/frs/?group_id=175

 Homepage:
http://extunix.forge.ocamlcore.org/

 Get source code:
git clone http://git.ocamlcore.org/extunix/extunix.git/

 Browse source code:
http://git.ocamlcore.org/cgi-bin/gitweb.cgi?p=extunix/extunix.git;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):
http://git.ocamlcore.org/cgi-bin/gitweb.cgi?p=extunix/extunix.git;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

Portability: 
  * 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]

-- 
 ygrek
 http://ygrek.org.ua