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 Reins 0.1 - Persistent Data Structure Library
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-09-26 (11:45)
From: Jim Miller <gordon.j.miller@g...>
Subject: Re: [Caml-list] Re: Cherry-picking modules (was Re: [ANN] OCaml Reins 0.1 - Persistent Data Structure Library)
> It is funny, because when you see other big languages -- which are
> working very well -- like Perl, they all try to avoid embedding libraries!
> The only real needs is to have something that automatically
> download/build/install dependency!
> AND WE HAVE IT: godi!
> Or if you want things more distro based: debian...

This is a fascinating discussion because it hits at one of the core problems
I have with OCaml.  Almost all of my work is done on systems that are not
connected to any sort of network and all software that I install on the
systems has to be approved.  I have no choice but to burn CD/DVD's with
modules to install.

I personally also do the static linking against any library that doesn't
come standard with the operating system.  Typically the ONLY libraries that
I don't statically link are libc (I don't write UI applications so X isn't
an issue).

In the world I work in, we are actually moving away from system shared
libraries because we cannot count on each of the different installations
doing their system maintenance properly.  This has led us into DLL hell on
many of the systems we install to.  Because we don't have any administrator
access to these machines, and NEVER will, we simply distribute EVERYTHING we
need, sometimes source, sometimes compiled binaries for the platforms we

(Java applications tend to do this)

Godi would be very nice if I could figure out how to create a custom Godi
repository that I could burn onto a CD and then point my Godi installer to
it.  I seem to recall going through and looking through Godi a year or so
ago to figure this out but ran out of time and patience.  Godi would have to
be able to assemble the repository for me based on a top level set of
requirements (run down the dependency chain) or the situation hasn't
improved at all compared to distributing the modules ourselves.

At some level I think that what this really points to is a lack of a very
large standard library.  One of the arguments often made by programmers that
I'm trying to introduce to OCaml is that the standard library sucks compared
to what they're used to.  They've gotten used to Java and Ruby and being
able to quickly and easily do sophisticated string operations (the Standard
string doesn't have many of the functions we commonly use so we end up using
Extlib),  network operations, (sockets are a start, but just that), and XML
processing.  While there are many packages out there to do these things
we've all gotten used to languages that "come with it."

Take it or leave it, just my $.02 from trying to introduce OCaml into an
environment where we write network applications (including but not limited
to web services) that have to run on very tightly controlled systems.  (I
know I'm in the huge minority of programmers)