Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I agree - but the dissertation was just a "demo" or "showcase" of the typesetting system (I actually found it quite neatly, but I did not see anything that I could not have done without much trouble in TeX; would have loved to see the sources, though).

I really think the choice of using OCaml is not a very smart one (w.r.t. a roadmap / scale). Just looking at, e.g., Facebook's Flow reminds me that it can be a blocker in the long run (performance + not cross platform friendly).



> I really think the choice of using OCaml is not a very smart one (w.r.t. a roadmap / scale). Just looking at, e.g., Facebook's Flow reminds me that it can be a blocker in the long run (performance + not cross platform friendly).

So can be C# or any other language you might prefer. OCaml can have exceptional performance and the reasons why they are using OCaml sound quite good.


I'm a bit sceptical on the reasons. I feel like "We like OCaml" might have been more honest. Let's see the justifications.

> Our choice was constrained by the goal to let the user program inside the document, if they wished to do so. To achieve the long-term goals of modularity, backwards compatibility, and portability, we decided to use a functionnal [sic] programming language, with types checked by the compiler (ensuring modularity and portability), and whose authors would also have backwards compatibility in mind.

So maybe functional languages get you more fine grain modularity, but otherwise I don't buy it. And what has type checking got to do with either? As for OCaml programs not segfaulting or crashing, that doesn't seem unique. E.g. javascript doesn't do this either, if it is pre-processed/"compiled". (I'm not saying JS is a better choice.)

It's the same with darcs vs git. Yes, there maybe "better" systems than git, and easier to learn, but you're still making it harder to contribute.

IDK, but with sentences like "If you do not like the idea of a free decentralized internet, you can also do", it seems like they're going for ideology over usability.


Fwiw, OCaml has pretty exceptional modularity – for some definition of modularity. Check out "functors".

Also, for backwards compatibility, this might be a reference to the pretty unusual legal obligations that OCaml has as one of the reference languages of the French Atomic Energy Agency.


I didn't know that, but that makes sense! I couldn't find any more info on this, even when searching for "Commissariat à l'Énergie Atomique OCaml". Do you have more details?

(I still think it's a bit rich to assume people will learn OCaml or write their own transpiler just to typeset stuff though.)



The code (from the tarball) looks pretty much like somebody converted a C library into Ocaml, though. I only looked at src/Typography and the font handling and typesetting code, because I'm kind of familiar with that.

Edit: Ok, it depends on the modules. Some of them are indeed written in quite nice functional style. Must be the "handwriting" of the different authors that those modules are so different.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: