Browse thread
[Caml-list] [ANN] The Missing Library
-
John Goerzen
-
Kenneth Knowles
- Alexander V. Voinov
-
John Goerzen
-
Maxence Guesdon
-
John Goerzen
- Maxence Guesdon
-
John Goerzen
-
Alain.Frisch@e...
-
John Goerzen
-
Alain.Frisch@e...
-
Nicolas Cannasse
-
Yamagata Yoriyuki
- Gerd Stolpmann
-
Nicolas Cannasse
-
Yamagata Yoriyuki
- Jacques GARRIGUE
- Nicolas Cannasse
-
Yamagata Yoriyuki
-
Yamagata Yoriyuki
-
Nicolas Cannasse
- oliver@f...
-
Alain.Frisch@e...
-
John Goerzen
- Henri DF
- Shawn Wagner
- james woodyatt
-
Alain.Frisch@e...
- Basile STARYNKEVITCH
-
John Goerzen
-
Kenneth Knowles
- John Goerzen
- Brian Hurt
- Florian Hars
-
Maxence Guesdon
- Eric C. Cooper
-
Kenneth Knowles
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Brian Hurt <bhurt@s...> |
| Subject: | Re: [Caml-list] [ANN] The Missing Library |
On Fri, 23 Apr 2004, Kenneth Knowles wrote:
> On Fri, Apr 23, 2004 at 03:23:42PM -0500, John Goerzen wrote:
> > But the fact that these libraries exist is, at its heart, a symptom of
> > the problems with the OCaml standard library.
>
> I'm just encouraging the dissenters to cooperate to more thoroughly demonstrate
> their case, and get a well-design library.
A large part of the problem is one of mindshare. The fact that extlib is
out there isn't immediately obvious to someone just comming into Ocaml.
In fact, it's rather hard to find. So, someone new comes in, discovers
that such-and-such a function or functionality is missing from the
standard library, doesn't see a standard way to get said added to the
standard library, and decides to help out the community by starting a
parallel standard library with looser submission rules. Lather, rinse,
repeat.
> I do suggest splitting domain-independent stuff like extended list and
> hashtable functions from specialized stuff like IMAP and config file
> parsers.
Personally, I see three levels of library functionality:
1) Core libraries, those libraries which are so core, so important that
it's hard to impossible to write programs without them. Examples would be
Pervasives (duh), List, Array, etc. This list may be expanded to include
those libraries needed to compile/run the compiler. This level would be
maintained by the INRIA folks.
2) Standard Environment Libraries. These would be the libraries a program
could count on to be installed in normal environments. Examples would
include GUI libraries, various network protocols, an XML parser, etc.
This would be a single, monolithic, project under a single license, but
one maintained by the community as a whole.
3) A CPAN-like tool. This is for libraries that are not commonly used
enough for inclusion into the standard environment (ex. PSQueue), or
libraries with licensing issues. Most programs shouldn't need any OPAN
libraries, and no project should depend upon more than 1-2 of them. The
key here is a simple, common, install procedure for libraries.
Note that particular features/functionality can migrate between the
levels. The INRIA folks could decide that, for example, Hashtbl should
get kicked out and moved down to the standard environment. Or they could
decide to move XML parsing into the core libraries. The standard
environment could decide to start including encryption libraries from
OPAN, or they could kick PSQueue out into OPAN because not enough people
are using it.
--
"Usenet is like a herd of performing elephants with diarrhea -- massive,
difficult to redirect, awe-inspiring, entertaining, and a source of
mind-boggling amounts of excrement when you least expect it."
- Gene Spafford
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