Yes, an informative, grokable site would be nice! So often with OCaml projects I just don't know what they're for and the sites provide bare-bones info. As a recent example, I saw OASIS mentioned a few times here so I checked the site... but the most informative thing there was the link to Haskell's Cabal. After I read the Cabal page, then I understood the intended role of OASIS.

OCaml stuff seems to lack *exposition*... a description of intent. Too often it's very terse "this is what it is" with no "this is why it exists and how you use it".

Bigger than that, what is a practical OCaml setup? I'm still basically running with the compiler, some specifically downloaded modules, and "my own stdlib". If I manage my OCaml environment with GODI, will I run into limitations, or is everyone using it and it's purely beneficial? I have no idea what an appropriate setup is, and don't want to spend time trying to figure it out myself and possibly messing up the ad-hoc configuration I've ended up with. Advice from those with experience would be welcome.

Perhaps other developers run into the same issues. The only known is the compiler... need that. Some confusions arise from the split choices... P4/P5... ocamlbuild/makefile. And you don't find out what choice to make until you hit a problem. What do you experts do in practice? That's the kind of overview I feel is missing. There's no place to go (that I've seen) where a practical OCaml environment(s) is(/are) described... perhaps because it would require being partisan to one choice or another. At least info to help make that choice. It seems every time I consider doing a camlp4 extension I look up camlp4 vs camlp5 and after my brain turns to fuzz I give up and do something else.

I've been programming in OCaml for about 6 years now, and if I were to start with a clean build, I'd still just build the basic package from INRIA and gather specific modules as I needed them... often the "install" is just copying the  library/object/mli files into a subdir of .../lib/ocaml. There must be a better way? What I need is guidance. :)

Without any direction, I think OCaml developers end up "going their own", and we have this fractured mess. People don't know if the functions they need (such as fairly basic math functions, to touch on the original topic) exist somewhere. I didn't know about extlib or batteries for some time. Where do you start? Google is not the most friendly or useful interface for poor, under-represented OCaml. :)

So yes, Ashish, I think a better website for OCaml could be a simple and effective way to address these problems!


On Thu, Mar 31, 2011 at 10:45 AM, Ashish Agarwal <agarwal1975@gmail.com> wrote:
One thing I feel is desperately needed is a better website for OCaml. I'm trying to organize an effort around this, and Sylvain has offered to host the website on ocamlcore.org. If you are interested in helping, please contact me off list. Thank you.


On Thu, Mar 31, 2011 at 11:52 AM, Gabriel Scherer <gabriel.scherer@gmail.com> wrote:
Just a quick clarification :


Sylvain has been doing great work for the OCaml community for some years. With the help of other tools (ocamlfind, godi, ocamlbuild...), the Ocamlcore Forge, etc., it is now more and more easy to use, share and deploy OCaml code.

My wording awkwardly suggests that all the mentioned tools are Ocamlcore projects. This is not true :
- ocamlfind and godi are tools from Gerd Stolpmann and have been around for much longer; if you want to help the ocaml ecosystem, it's a good idea to begin by writing META files for all your released projects; they are very simple to write from an existing example, and very useful in combination with ocamlfind
- ocamlbuild is from Nicolas Pouillard and Berke Durak; it is a simple and extensible compilation system for OCaml, but relatively new; other build systems for OCaml exist, such as OCamlMakefile (a generic GNU Makefile to help write usual makefiles for OCaml program) and OMake.


On Thu, Mar 31, 2011 at 2:19 PM, Gabriel Scherer <gabriel.scherer@gmail.com> wrote:
2011/3/31 Philippe Strauss <philou@philou.ch>
So, I think INRIA could continue to work on a good compiler, and company which make business whith ocaml could discuss between them to agreed on standards, via Ocamlcore for instance, with the agreement of Xavier Leroy's team of course.

Xavier Leroy has already said, for example during the former OCaml Meetings, that they would be happy to link to a more complete "OCaml distribution" provided by the community, including the core "INRIA lib" and some more. I think there is no clear consensus right now on what that would be, and that's why it hasn't been done yet, but there are several orthogonal efforts in that direction (more on that later).


2011/3/31 Philippe Strauss <philou@philou.ch>
maybe batteries and janestreet core (to name nowadays alternatives) have too big ambitions: extension library aside INRIA's standard lib would have more users than a complete alternative.
[...]
I think it would be important and interesting to create a little organization which discuss bout a standard lib and would begin making a synthesis of all these "standard" library.

Batteries is meant to be an extension of INRIA's stdlib, as a continuation of the [Extlib] effort. Great care is taken that a code using the existing standard library should be able to replace it with Batteries without changing a line of code. If something breaks when converting to batteries, it should be filed as a bug.

 [Extlib] http://code.google.com/p/ocaml-extlib/

The Core library from Jane Street has liberated itself from this conservative position. Programs should be written directly using Core, and it is not in principle easy to transition from INRIA's stdlib to Core (of course you could include both and be careful to avoid conflicts with "open"). The advantages are plenty: it allows Janestreet to provide a coherent set of packages and make different design choices (arguably some aspects of INRIA's stdlib are more "non choices"). On the other hand, it means that direct "synthesis" of both efforts (Core and Batteries) is not likely. There is also the difference that Batteries is a community-driven effort, while Core is more internal to Jane Street; they would probably welcome contributions, but their internal code is naturally their top priority, and the external release model has been rather sporadic for now.


Le 31 mars 2011 à 10:19, Pierre-Alexandre Voye:
I think it would be important and interesting to create a little organization which discuss bout a standard lib and would begin making a synthesis of all these "standard" library.

After the first OCaml Meeting, there has been some discussion on the Cocan Wiki, but I think the site is down currently.
  http://le-gall.net/sylvain+violaine/blog/index.php?post/2008/01/30/36-ocamlmeeting-in-paris-debian-summary


2011/3/31 Philippe Strauss <philou@philou.ch>
the way you can get haskell packaged easily, on the contrary, as some big appeal.

Sylvain Le Gall has been working on a CPAN-like repository for OCaml, using his "oasis" distribution tool:
   http://oasis.forge.ocamlcore.org/oasis-db.html

Sylvain has been doing great work for the OCaml community for some years. With the help of other tools (ocamlfind, godi, ocamlbuild...), the Ocamlcore Forge, etc., it is now more and more easy to use, share and deploy OCaml code. Of course, there still are a lot of rough edges, but the only way to go further is that the community (yes, you!) try to use those tools, popularize them, and also report feedback on what could be improved.

For a very long time, using OCaml has been a joyful but solitary activity. If you want a more vibrant community, the only thing to do is to do your part of the work as you would need the others to do. Set a standard, so that things that are now rare are taken for granted in the future. Nobody, except maybe Sylvain, has the devotion to work full-time on the small details that will improve things in the long run, and this is ok. Yes, writing an oasis file (or even a META) or contributing an obvious function to Batteries is tedious and certainly less sexy that a lot of things you're working on. But this won't happen magically.




On Thu, Mar 31, 2011 at 11:38 AM, Pierre-Alexandre Voye <ontologiae@gmail.com> wrote:
2011/3/31 Philippe Strauss <philou@philou.ch>

Le 31 mars 2011 à 10:19, Pierre-Alexandre Voye a écrit :

It's funny, because I'm studying why language succeed or not, for my M1 dissertation (M1 Management), and it's one of the big factor, among others, of sucess.
Ocaml is highly expressive, so you could turn around, but it's a big problem.

I think it would be important and interesting to create a little organization which discuss bout a standard lib and would begin making a synthesis of all these "standard" library.

Personally I'm not that unhappy with the standard lib shipped by INRIA.

maybe batteries and janestreet core (to name nowadays alternatives) have too big ambitions: extension library aside INRIA's standard lib would have more users than a complete alternative.

the way you can get haskell packaged easily, on the contrary, as some big appeal.


I think INRIA, and in particular the Xavier Leroy's team, make what they can. Their work isn't to maintain OCaml but mainly to do research.
So, I think INRIA could continue to work on a good compiler, and company which make business whith ocaml could discuss between them to agreed on standards, via Ocamlcore for instance, with the agreement of Xavier Leroy's team of course.


--
---------------------
Isaac Project - http://www.lisaac.org/