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
next prev parent 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