4 ms·
(Author of the article here) The stdlib that ships with the compiler is indeed minimal, though it is used for things other than the compiler. It can be used f
by yminsky 12y ago
(Author of the article here)
The stdlib that ships with the compiler is indeed minimal, though it is used for things other than the compiler. It can be used for other projects, but you probably want something more full-featured. Core, and the more minimal and portable Core_kernel (https://github.com/janestreet/core_kernel https://github.com/janestreet/core_kernel) is a full-featured alternative that is growing in popularity, and is what the book I worked on (Real World OCaml, http://realworldocaml.org http://realworldocaml.org) is based on.
OCaml (and most of both the stdlib and Core) default to immutable data structures, but OCaml has good support for programming imperatively, to its credit, in my view.
- jzelinskie 12y agoI've heard that Jane Street uses their own extensions to the language. Also, how does one deal with the development of OCaml being largely done in French?
- yminsky 12y agoJane Street makes use of OCaml's built-in metaprogramming facility, camlp4. While these are in some sense "our own extensions", they're wholly shareable without using a hacked version of the compiler, and just because we build our code using these syntax extensions, doesn't mean that users of our libraries need to do the same. You can use Core_kernel, for example, without using our syntax extensions. The French thing is a non-issue. The compiler is written and documented in English, and all the main contributors are fluent English speakers, and the mailing lists are almost entirely in English.
- masklinn 12y ago> Also, how does one deal with the development of OCaml being largely done in French? OCaml is developed by french people, I've never heard of it being done in french (aside from interpersonal banter I guess). The french version of the official site doesn't even work correctly (when you click on the "manual" link you get the english manual)
- kd0amg 12y agoI've never heard of it being done in french (aside from interpersonal banter I guess) And an April Fools joke -- http://gallium.inria.fr/blog/ocaml-5/ http://gallium.inria.fr/blog/ocaml-5/
- plinkplonk 12y agoFWIW: Core doesn't work with Windows (the Real World OCaml book does state this upfront) so you need either an OSX or Linux machine to work with Core, and so you can't work through the book with a Windows machine. Something to be aware of.
- pjmlp 12y agoI was really disappointed, as I only found this out after buying the book. So I end up mostly reading the book as a means to update the knowledge I had from the Caml Light days and differences to F#.
- yminsky 12y agoFor what it's worth, the world has changed since then: Core_kernel (which is the highly portable bits of Core, which is most of it) works on Windows just fine. Indeed, WODI, which is the best windows package manager for OCaml right now, ships with it.
- pjmlp 12y agoThanks for the info. I'll have a look at it.
- tomp 12y agoHi, Yaron! I was recently looking into using Core for one of my projects, but have so far failed to find any good, clear, complete documentation or how-to guide. Is there anything like that available online? I guess I could read the Real World OCaml book to learn parts of it, but I already know OCaml...
- yminsky 12y agoReal World OCaml does indeed cover Core and related libraries, but you can also just read the API documentation: https://ocaml.janestreet.com/ocaml-core/latest/doc/ https://ocaml.janestreet.com/ocaml-core/latest/doc/