caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Brian Hurt <brian.hurt@qlogic.com>
To: Amit Dubey <adubey@CoLi.Uni-SB.DE>
Cc: <caml-list@inria.fr>
Subject: Re: [Caml-list] OCaml standard library improvement
Date: Fri, 21 Feb 2003 11:10:42 -0600 (CST)	[thread overview]
Message-ID: <Pine.LNX.4.33.0302211046340.2037-100000@eagle.ancor.com> (raw)
In-Reply-To: <200302211618.RAA10481@gnome.at.coli.uni-sb.de>

On Fri, 21 Feb 2003, Amit Dubey wrote:

> 
>     I've been following the discussion, and I think it's a good idea.
> I have to code submit, but one thing that (unfortunately!) needs
> to be discussed is the license.  I usually don't follow the license threads
> on this list, so I apologize if this post smacks of ignorance, but
> I would suggest the LGPL is probably a good bet for such a library.
> Any other suggestions?  (I am ambivalent myself, and would be happy
> with the GPL or BSD licenses).

I vote for LGPL myself.  I have a Priority Search Queue implementation 
I'll submit:
http://www.informatik.uni-bonn.de/~ralf/talks/ICFP01.pdf

With respect to strings, I think what we need is a good regular expression 
parsing library.  Something less powerful than Ocamllex, but more powerful 
than strchr.

> 
>     Another note, do people think that hosting such a project on
> Sourceforge might be a good idea?  If there are positive replies,
> (in particular, I would be interested to hear what the core Ocaml
> developers think of this idea), I will volunteer to register the
> project.

Long term, I'd perfer to see it become part of the standard distribution.  
If you can gaurentee that it's always there, it'll be a lot more widely 
used.



> 
> 
> Nicolas George writes:
> > There is a problem to solve before it: the confusion between modules
> > (used as namespace units) and compilation units. Supose you have a large
> > set of string functions, tu split, search for words, replace, and so on.
> > You want them all in one module, since you do not want to remember that
> > split_on_char is in String42, but split_on_chars is in String17. But you
> > do not want that as soon as you use the trivial split_on_char function,
> > your resulting binary includes all the bloat for KMP word search.
> 
>     This is a good point, Nicolas.  However, my feeling is that this
> may not be a big problem in the begining, and it might be difficult
> devising a logical way to split things before we know enough about the
> scope of the problem.  I'd suggest the best solution here would be to
> start off keeping everything together.  If there is too much bloat,
> things could be split up into smaller modules, with some larger
> modules that "include" other ones to provide backwards compatibility.
> 

- We shouldn't be afraid to add functions/functionality to libraries.  
There should never be a string2 library, let alone a string17 library.

- We shouldn't be afraid to add new libraries either- for different 
functionality.  Regular expression parsing, for example, shouldn't be in 
the string library.

This sounds contradictory, but it's not (quite).  Every library should
have a clear domain.  I look at it in terms of code: libraries should come
in one of two forms- either collections of simple related routines with no
common infrastructure, or collections of routines which share a common 
infrastructure.

So the string library would be a collection of simple routines.  None of
the routines in string call each other, or any common 'infrastructure'
routines.  Regular expressions have infrastructure- routines to create and 
manipulate DFAs and NFAs if nothing else.  That common infrastructure then 
defines it as a seperate library- the library of everything using that 
infrastructure.

Just my $0.02.

Brian


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2003-02-21 17:00 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-18 18:03 [Caml-list] Hashtbl.keys Oliver Bandel
2003-02-18 18:13 ` Hal Daume III
2003-02-20  9:43 ` Xavier Leroy
2003-02-20 16:54   ` [Caml-list] OCaml standard library improvement Stefano Zacchiroli
2003-02-21 13:47     ` Nicolas George
2003-02-22 14:09       ` Stefano Zacchiroli
2003-02-23 18:33         ` Alessandro Baretta
2003-02-21 13:53     ` fva
2003-02-21 16:18       ` Amit Dubey
2003-02-21 17:10         ` Brian Hurt [this message]
2003-02-21 17:23           ` Nicolas George
2003-02-21 18:01             ` Brian Hurt
2003-02-21 18:57               ` Chris Hecker
2003-02-21 19:28                 ` Brian Hurt
2003-02-22 15:52             ` John Max Skaller
2003-02-21 17:32         ` Maxence Guesdon
2003-02-24  1:21       ` Nicolas Cannasse
2003-02-24  1:45         ` Chris Hecker
2003-02-24  2:46           ` Brian Hurt
2003-02-24  7:42             ` Stefano Zacchiroli
2003-02-24 10:18             ` fva
2003-02-24 11:03             ` Amit Dubey
2003-02-24 12:56               ` John Max Skaller
2003-02-24 13:06                 ` Lauri Alanko
2003-02-24 13:08                 ` Sven Luther
2003-02-24 14:05                   ` [Caml-list] Library Discussion Followups Amit Dubey
2003-02-25  5:49                   ` [Caml-list] OCaml standard library improvement John Max Skaller
2003-02-25  8:29                     ` Xavier Leroy
2003-02-24 16:50                 ` Benjamin C. Pierce
2003-02-24 17:28                   ` brogoff
2003-02-25 18:08                   ` Diego Olivier Fernandez Pons
2003-02-26  7:47                     ` Jean-Christophe Filliatre
2003-02-25 10:47     ` [Caml-list] OCaml standard library _improvement_ NOT a new library! Stefano Zacchiroli
2003-02-25 21:43       ` Alessandro Baretta
2003-02-26  9:42         ` Stefano Zacchiroli
2003-02-21  6:40   ` [Caml-list] Hashtbl.keys Alex Cowie

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.LNX.4.33.0302211046340.2037-100000@eagle.ancor.com \
    --to=brian.hurt@qlogic.com \
    --cc=adubey@CoLi.Uni-SB.DE \
    --cc=caml-list@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).