Is OCaml's standard library its weakest link?

In this post I read that:

OCaml’s standard library is one of its weakest parts. Always use extensions to the std library.

Searching around the net I find ExtLib, Batteries, and Janestreet.
I’m not sure what “weakest link” meant in the original post so I will leave it wide open for any concerns that people have. Perhaps it means that it does not have enough functionality? Or slow? Or there is something odd about the APIs?
It is true that OCaml’s standard library is its weakest link?

Running Ocamlbrowser with OCaml 3.11.2 on Cygwin 1.72

After building OCaml 3.11.2 from source on Cygwin 1.72 I tried running ocamlbrowser and got the error:

Fatal error: exception Protocol.TkError("Can't find a usable init.tcl in the following directories:

The solution is can be found here:

export TCL_LIBRARY=/usr/share/tcl8.4

Is it "poor taste" to include type information in function definitions?

I had wondered:

Is it “poor taste” to include type information in function definitions?
It seems like very nice documentation, but then again, maybe it is nicer rely on the inferencing engine to reduce the amount of code?
In theory you write short, easy to understand functions; in practice it isn’t always this simple though.

People kindly replied:

When you can avoid it, it is better to NOT include type information. Using a tool like “ocamldoc” will render the function and its inferred types in a real documentation format (e.g. HTML).
There are cases where you need to include type information, but they are corner cases.


Interface files (.mli) are usually the main place for documentation. Within the .ml files, you can explain your algorithms but it’s usually just plain comments, not so much type annotations.


As to the matter of “taste”, note that this practice is not idiomatic in Ocaml, in contrast to Haskell where it seems current. I’m not sure if that’s your case, but people coming to Ocaml from Haskell may at first tend to exaggerate on this aspect…