English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
[Caml-list] Caml Development Kit
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2001-03-27 (02:12)
From: Patrick M Doane <patrick@w...>
Subject: Re: [Caml-list] Caml Development Kit
This is excellent news! I'm looking forward to helping with this effort.

I have quite a bit of code lying around on my machine for working with
e-mail protocols (such as POP, SMTP, NNTP, IMAP, etc) and associated data. 
I recently created a Sourceforge project to try to organize an effort to
making high-quality Ocaml modules for these types of modules.  For those
interested, it is located at: 


I have placed a project goals document but not much source code yet for a
reason that this CDK project might be able to resolve: 

As much as I love Caml as a language, I have to admit that I've been less
than pleased with the standard infrastructure for string manipulation. 
First a summary of approaches that I'm aware of: 

  1) Manipulate the string manually with functions like String.index and
maintain position variables.  I find this to be pretty error-prone and
hard to read.

  2) Use the stream parsers.  I hesitate to use them because of their
status as "experimental" and that be removed at any time. I also have
heard claims that their performance is not too good compared with other
techniques.  Does anyone know if this true? 

  3) Use ocamllex.  This would be the most natural approach to me but
their utility is hampered by not being able to pass additional parameters
to the rules.  I understand that there is patch available that adds this
functionality, but it's part of the standard distribution.

  4) Use a regular expression matching library.  The builtin Str is
not thread-safe which is problematic. PCRE and xstr provide good
alternatives. Too many choices here though.

  5) Write another custom module for string manipulation!

Since I wasn't happy with the builtin functions and didn't want to rely on
a third party distribution, I opted for option 5 while writing a good bit
of the code.  But then I think, does the world really need another string
manipulation library? 

If we can converge on a small set of good workable solutions, then it'll
make it much easier to produce a large set of modules for protocols and

Any thoughts?

On Mon, 26 Mar 2001, Fabrice Le Fessant wrote:

> A few weeks ago, we started a project called "Caml Development Kit" or
> CDK, which would gather in one big tarball or RPM several tools and
> libraries, useful for Ocaml programming. 
> For example, the CDK will include Ocaml, Camlp4, ledit, and many
> user-contributed libraries. A new CDK will be released at each Ocaml
> release (and probably more often from CVS sources), removing the need
> to update, compile and install many different packages everytime to
> have a coherent development envirronment.
> If you are interested in contributing to this project, you can either
> send me your code, or an URL where we can download your contribution.
> We are particularly interested in general modules, providing useful
> data structures, network(urlget,http_server,etc)/ crypto(des)/
> multimedia(images) functions, or bindings to C libraries. 
> The package includes a simple tool to generate HTML from .mli files.
> Thus, contributions must provide .mli files for all interesting
> modules, and these .mli files must be correctly documented.
> Have a look at the just created web site:
> http://pauillac.inria.fr/cdk
> - Fabrice
> -------------------
> To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr

To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr