

Unix System Programming in OCaml - swannodette
http://ocamlunix.forge.ocamlcore.org/

======
danieldk
It may be interesting to note that Red Hat's Richard Jones wrote some nice
system utilities in OCaml, such as virt-top and guestfs-browser:

<http://git.annexia.org/?p=virt-top.git;a=summary>

<http://git.annexia.org/?p=guestfs-browser.git;a=summary>

~~~
rwmj
I'll upvote that one :-)

Also we wrote a whole lot of the "behind the scenes" code for libguestfs in
OCaml as well. You won't "see it" necessarily because what it does is to
generate hundreds of thousands of lines of boilerplate C code.

<http://libguestfs.org/>

------
Xurinos
For those like me who internally struggle on which is the preferable language
to study in depth (OCaml or SML), here is a practical source for SML:

<http://only.mawhrin.net/~alexey/sysprogsml.pdf>

~~~
swannodette
I've been learning SML via this book, [http://www.amazon.com/Elements-ML-
Programming-ML97-2nd/dp/01...](http://www.amazon.com/Elements-ML-Programming-
ML97-2nd/dp/0137903871)

Quite good and filled with the kind of exercises that help the language really
sink in. Also the OS X installation process for SML/NJ has recently become
quite simple.

One big difference between OCaml and SML is that ocamlopt makes it dead simple
to create executables for a wide variety of platforms, and that is not so easy
w/ SML/NJ.

~~~
gaius
Also see: [http://www.amazon.co.uk/ML-Working-Programmer-Larry-
Paulson/...](http://www.amazon.co.uk/ML-Working-Programmer-Larry-
Paulson/dp/052156543X/ref=sr_1_1?ie=UTF8&qid=1305928550&sr=8-1)

------
iskander
The few times I've made small utilities in OCaml have proven satisfying (quick
to code up, correct once I made it past the type checker). I wonder if the
Jane Street folks ever use OCaml in the places people usually stick python or
shell scripts.

~~~
stonemetal
It would appear that they do. <http://ocaml.janestreet.com/?q=node/80>

------
wazoox
Side note: the original french version is here :
[http://cristal.inria.fr/~remy/poly/system/camlunix/index.htm...](http://cristal.inria.fr/~remy/poly/system/camlunix/index.html)

