Browse thread
[Caml-list] Completeness of "Unix" run-time library
-
Vasili Galchin
- james woodyatt
-
Richard Jones
-
Shawn Wagner
-
Eric Stokes
-
Vasili Galchin
-
Eric Stokes
-
Vasili Galchin
-
Matt Gushee
-
Richard Jones
-
Nicolas Cannasse
-
Diego Olivier Fernandez Pons
- Benjamin Geer
- Alex Baretta
- Sven Luther
- Wolfgang Müller
-
John Carr
-
Richard Jones
-
oliver@f...
-
John Carr
-
Richard Jones
- Jacques Garrigue
- Benjamin Geer
- Michael Vanier
- Sven Luther
-
Richard Jones
- Sven Luther
-
John Carr
-
oliver@f...
-
Richard Jones
-
Diego Olivier Fernandez Pons
-
Nicolas Cannasse
- Shawn Wagner
- Vasili Galchin
- Vasili Galchin
-
Richard Jones
-
Matt Gushee
-
Vasili Galchin
-
Eric Stokes
-
Vasili Galchin
-
Eric Stokes
-
Shawn Wagner
- Stefano Zacchiroli
[
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: | Alex Baretta <alex@b...> |
| Subject: | [Caml-list] Re: OCaml's Cathedral & Bazaar |
Diego Olivier Fernandez Pons wrote:
>
> Integer une bibliotheque a une distribution est un choix quasi
> irrevocable. Les mesaventures de SML sont suffisamment demonstratives
> : les differentes equipes ne sont toujours pas parvenues a se mettre
> d'accord et a implementer uniformement une norme qui change tout le
> temps alors qu'elle ne prevoit rien de plus que des tableaux, quelques
> foncteurs et des entrees sorties basiques.
Diego is right. We don't need to integrate all external contributions to
the standard library. Yes, a central repository would be cool, and my
company, too, would help finance it or staff it. Yet, the Caml team
should consider some necessary completions or corrections to the
standard library. Here are some points worth considering:
* We have functional Maps and imperative Hashtbls; we have imperative
Queues but no functional BatchedQueues or the like. I have a
BatchedQueue module which I'd be more than glad to contribute to the
standard library, but it's really a half hour job anyway.
* We have data structure modules with grossly incoherent signatures:
(* Hashtbl module *)
val add : ('a, 'b) t -> 'a -> 'b -> unit
e.g. Hashtbl.add table key value
(* Map.S signature *)
val add : key -> 'a -> 'a t -> 'a
e.g. MyMap.add key value map
* Ocaml is a functional programming language but the only regular
expression library in the standard distribution (Str) is stateful
(hence, non-reentrant) library. A better approach that would guarantee
an ample degree of backward compatibility would be to create and
Str.Make functor instantiating a copy of all the state variables, so
that multithreaded programs could instantiate a copy of Str for every
thread. It would be something. Yet a functional regexp library is needed
in the standard distribution.
I could probably think of a couple more issues if I had time enough.
Anyhow, such inconsistencies and deficiencies should be avoided in
well-thought standard library for a well thought and well supported
"programming tool of choice for the discriminating hacker". In my
opinion, it would be reasonable for INRIA to delegate the development of
such a replacement standard library to a managed community project (see
Mozilla, the Linux kernel, the Fedora project and whatnot). The
community could do a lot to support the Ocaml development effort, if
only there were some official protocol for cooperation with the official
Caml team.
***
In consideration of our common belief that all Camlers are created equal
and endowed by their License with certain unalienable rights, and that
among these are Use, Modification, and the pursuit of Higher
abstractions, it is their duty, to throw off such a Standard Library,
and to provide new Modules for their future software development.
Alex "Hancock" Baretta, with some help from Tom Jefferson ;)
-------------------
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