News for hackers. Stuff that matters.
Re:Plans for OCaml 4.08 by PirateBay on Wednesday July 04, 2018 @05:55PM (#17459633)
If you want to wait a little, the "Real World Ocaml" book is being re-written. It's in beta-ish right but it looks like it would be usable.

Though the core language is the same, some of the language metaprogramming features have been totally switched out for other (better) ones. And it uses the modern versions of the Core (note, that is NOT the standard library) library.

Re:Plans for OCaml 4.08 by laylomo2 on Wednesday July 04, 2018 @07:41PM (#17460006)
Check out dev.realworldocaml.org
Re:Plans for OCaml 4.08 by jdonaldson on Wednesday July 04, 2018 @08:23PM (#17460131)
Yes, this would be the book I would recommend as well. I'll give a bunch of general advice as well:

OCaml is pretty old (introduced a year after Java IIUC), and it contains quite a few crusty libraries and programming patterns that come from age. Stick with the latest version you can find through this "modernization" process headed up by JS.

I'm on 4.06, which just made immutable strings a default, and broke a ton of libraries. If you run into a broken lib, this recent version change is almost certainly the reason. I strongly recommend 4.06 as a minimum version (if you're not working with legacy code). If there's a library you want to use that is not compatible yet, bug the maintainer to update it. I've run into problems trying to downgrade/upgrade my compiler version + all the tools. I can't recommend doing that, it kinda ruins the experimentation experience.

What else can I say? Opam, the package maintainer, is great. There's a great build system, nice IDE support with a set of tools called merlin, and the compiler is super fast. The compiler field-level error messages are generally helpful (typo-fix suggestions), but can be fiendishly opaque if you happen to mess up a match boundary (which can happen easily when mixing in if/then/else statements).

Most stuff is google-able, but there's a lot of "line noise" in OCaml function signatures - especially for variant types and labeled arguments. That's harder to search for, so read that section thoroughly in the book.

Re:Plans for OCaml 4.08 by brohee on Thursday July 05, 2018 @03:28PM (#17466071)
OCaml was really born as Caml Light, in the early 90s..., it's soon to be 30 years old.
Re:Plans for OCaml 4.08 by emmelaich on Friday July 06, 2018 @04:55AM (#17469937)
You could argue it started in 1973 as ML

https://en.wikipedia.org/wiki/ML_(programming_language)

Re:Plans for OCaml 4.08 by brohee on Friday July 06, 2018 @05:01PM (#17475073)
Yeah but in this case it was really just a name change, the team that worked on Caml Light renaming it OCaml as they added more features, and stopping working on Caml Light shortly after.
Re:Plans for OCaml 4.08 by PirateBay on Wednesday July 04, 2018 @11:11PM (#17460621)
Well yes, that's the re-write I'm talking about.