
A look back on OCaml since 2011 - andrenth
http://www.ocamlpro.com/2019/09/20/a-look-back-on-ocaml/
======
apaprocki
My own retrospective... been using OCaml in a production compiler on obscure
UNICES since 3.08 (> 15 years!). Pretty seamless, simple updates, everything
kept working, lights are still on. I think source changes were required ~3
times, so amazingly stable from my POV :)

~~~
sjakobi
What kind of compiler is it? What does it compile?

Are you the only person who has worked on it?

~~~
apaprocki
It compiles a “C# class”-looking DSL to GNOME GObjects, pushing all the ugly
boilerplate (I’m aware there are newer ways to do it that have appeared in the
last 15 years :)) into the generated code. And nowadays I’d call it a
transpiler, but...

It was written by a teammate in 2004 (Frenchman, obviously!) and I’ve owned it
since. A number of people have submitted features, etc. It’s fairly
straightforward and OCaml wasn’t really a barrier to entry for any of the
contributors.

edit: I should have said “source changes due to OCaml upgrades” above to be
more clear.

------
xvilka
Three things left for the full glory: better Windows support (without
MinGW/Cygwin hacks, or WSL), better debugging and profiling (see DWARF PRs in
GitHub repository), and, of course, multicore. Looking forward to more OCaml
and faster OCaml.

~~~
zerr
> multicore

what's the state of this nowadays?

> better Windows support

couldn't agree more - they can learn on Go's lessons (the language didn't get
much traction until they added Windows support).

~~~
sadiq
4.09 (which has just been released) includes a number of changes that are
being introduced soley to ease the merging of multicore.

4.10 will also include a recently merged, large change for multicore support:
[https://github.com/ocaml/ocaml/pull/8713](https://github.com/ocaml/ocaml/pull/8713)

The plan is to land multicore in trunk through a series of smaller chunks such
as #8713

~~~
jhoechtl
> 4.09 (which has just been released) includes a number of changes that are
> being introduced to ease the introduction of multicore.

Ocaml multicore has been on the tablet since ... pretty much the dawn of time.
It's save to call it vaporware or the duke nukem forever of Ocaml.

~~~
logicchains
The perfect is the enemy of the good.

------
frou_dh
Love a good cheatsheet that actually respects the concept of being a _SINGLE,
fixed-layout_ page: [http://www.ocamlpro.com/wp-content/uploads/2019/09/ocaml-
lan...](http://www.ocamlpro.com/wp-content/uploads/2019/09/ocaml-lang.pdf)

It's something of a lost art in the paperless and HTML era of documentation.

------
Yoric
Great to see OCaml picking back steam after a few slow years \o/

------
Miltnoid
I use OCaml for my everyday development. The main thing OCaml really needs is
modular implicits.

~~~
sjakobi
What are modular implicits?

~~~
tutanchamun
As a layman I would describe them as implicits like in current Scala [0] but
better (easier to reason about). One thing which they allow is ad-hoc
polymorphism like typeclasses.

[https://arxiv.org/pdf/1512.01895.pdf](https://arxiv.org/pdf/1512.01895.pdf)

[https://old.reddit.com/r/ocaml/comments/4qan0w/modular_type_...](https://old.reddit.com/r/ocaml/comments/4qan0w/modular_type_classes_vs_modular_implicits/)

[0] [https://scala-lang.org](https://scala-lang.org)

------
mhd
They did a pretty good job shepherding it, although I'm still not too fond
that the current trend is fueled by the Javascriptification of all the things.

Sadly, meanwhile "Standard" ML is languishing in academia...

~~~
Yoric
I don't follow. How do you feel is OCaml javascriptified?

~~~
TurboHaskal
I think he’s referring to ReasonML. Which plenty of OCaml developers dislike,
but managed to build a healthy ecosystem in a short amount of time.

