A "standard library" does not imply "big" or that it is part of the standard distribution. Both Batteries and Core would make fine standard libraries. Neither is very big and both are independent of the standard distribution. But having 5 different standard libraries is annoying precisely because the library covers just basic concepts. We don't need 5 APIs for string functions. They are all easy to learn independently but a pain if you have to know them all. A beginner won't bother taking the time to do a google search and find which one to use; before that they'll use another language.

I also think the debate about github, ocamlforge, etc is fruitless. People have different preferences and who knows what new tools will be developed a couple years from now. Instead of arguing about which one is best, we should accept that we will not agree on this. And why do we need to? We can aggregate the information from multiple sources and present it in a uniform way on a community website.


On Tue, Dec 6, 2011 at 7:18 PM, Paolo Donadeo <p.donadeo@gmail.com> wrote:
I just want to add some erratic thoughts summoned by the recent
<strike>flame</strike>... discussion about "the state of the OCaml
union". For this reason I'm not pretending to be coherent or to have
an answer to each and every problem, I'm not John Wayne and I'll never
be.

OCaml community is basically composed by computer professionals that
have very few time to spend on the geek social networks (reddit,
stackoverflow, ...) to write how this language is beautiful, how it is
so "pure" (or "impure"), and so on. I write software in OCaml, and
this software is working right now in a production environment.
Nothing even comparable with Jane St. or LexiFy or Mylife, but I have
my customers and if something stops working, they complain A LOT ;-)

This pragmatical attitude of the OCaml community is not accidental and
is the clear expression of a language that *is* pragmatical.

And this attitude is the main reason why, in my very honest opinion,
the OCaml language haven't a hype comparable to, say, Haskell. Is this
bad? Are we frustrated because nobody writes on "Wired" about OCaml?
I'm not.

What I like in OCaml is that it's really stable, fast and in the last
years many key tools have been added to the tool chain. As an
engineer, I think that ocamlbuild + oasis (only an example) are MORE
valuable than first class modules and GADTs. Which, in turn, are not
"minor improvements" at all, and I don't see this supposed immobility
of the language.

The standard library problem: the core library is small, ugly, useless
and more. The standard library provided by INRIA can't even send
email, make a POST, or talk with a web service. Ok, but what exactly
can you do with the C, or C++ standard library? I *like* the elegant
simplicity of the standard library and, when something is missing I
can: 1) write my own solution or 2) search for library by other OCaml
developers. What's wrong with Google searching for a good library? Why
many people seems to advocate a unique library "to rule them all"? And
why this huge library should enter in the standard distribution? Why
many people complain about the poor visibility of the community, but
refuses to use ocamlcore.org (thanks Sylvain forever!) only because
GitHub has a nicer web2.0 interface? Yes, I like GitHub, but I think
we *ALL* should host our projects, at least the main web pages on
OCamlCore, to minimize the scatter.

There are many specialized library for almost everything in OCaml, and
2/3 big "standard libraries" (Batteries, Core, ExtLib?). Why can't we
simply choose one of these excellent libraries? I like
<ads>Batteries</ads> but there is NOTHING wrong with Core, and I hope
both of them will remain OUT of the standard distribution forever.
Why? Because the standard library is small and virtually bug-free or,
better said, it tends to be so, because it's *rare* that a new feature
is added, and this is *good*. It's like the basic building blocks of
Lego: if you want gears or you need a pulley, buy Lego Technic ;-)

Another example: reactive programming. Not using Google (I swear!) I
can remember LWT, react, Ocamlnet (in part...) and froc. Is this
situation to be considered harmful? I appreciate this wide range of
approaches to the same problem, it's the sign of a vital community.

I'm too seasoned as a programmer and I already experienced the
<irony>huge benefits</irony> of big standard libraries: the
Magnificent Java Standard Library, BOOST, the ACE framework, and many
others, all excellent examples of what a serial killer can design with
a cohort of programmers and a beautiful programming language ;-)

I don't say there are no problems, and everything is fine. But if I
have do point at a problem, especially for newcomers, I would say that
we need a book, an up to date book, written in good English and
published by O'Relly.

But this is a very hard issue to be solved, no GitHub (R) (TM) in help here ;-)


--
Paolo

--
Caml-list mailing list.  Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs