caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Patrick M Doane <patrick@watson.org>
To: Fabrice Le Fessant <fabrice.le_fessant@inria.fr>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Caml Development Kit
Date: Mon, 26 Mar 2001 21:12:42 -0500 (EST)	[thread overview]
Message-ID: <Pine.BSF.3.96.1010326205436.83228A-100000@fledge.watson.org> (raw)
In-Reply-To: <15039.15898.748515.834915@cremant.inria.fr>

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: 

  http://sourceforge.net/projects/ocamlnet/

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
parsing.

Any thoughts?
Patrick

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


  reply	other threads:[~2001-03-27  2:12 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-03-26 13:03 Fabrice Le Fessant
2001-03-27  2:12 ` Patrick M Doane [this message]
2001-03-27  3:15   ` Brian Rogoff
2001-03-27  6:48     ` [Caml-list] Streams Daniel de Rauglaudre
     [not found]       ` <3AC04E85.EE51D597@univ-savoie.fr>
2001-03-27  8:37         ` Daniel de Rauglaudre
2001-03-27  6:30   ` [Caml-list] Caml Development Kit Daniel de Rauglaudre
     [not found] ` <Pine.BSF.3.96.1010326205436.83228A-100000@fledge.watson.or g>
2001-03-27  3:40   ` Chris Hecker
2001-03-27 18:54     ` Matthieu Villeneuve
2001-03-27  3:47 ` Jacques Garrigue
2001-03-27  7:33 ` Sven LUTHER
2001-03-27  9:36 Fabrice Le Fessant
2001-03-27 18:42 ` Dale Arntson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.BSF.3.96.1010326205436.83228A-100000@fledge.watson.org \
    --to=patrick@watson.org \
    --cc=caml-list@inria.fr \
    --cc=fabrice.le_fessant@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).