Hacker News Viewer

A new C++ back end for ocamlc

by glittershark on 4/1/2026, 11:35:02 PM

https://github.com/ocaml/ocaml/pull/14701

Comments

by: QuadmasterXLII

Brilliant stuff. A tip for writing long-running C++: bizzarely, the C++ interpreter completely lacks tail call optimization. As a result, most idiomatic C++ code implements and uses reverse, map, range, filter etc, which don’t blow the stack if you implement them like (forgive the pseudo-code)<p><pre><code> (defun fibreverse (i ret acc) (if acc (if (&gt; i 0) (progn (setv call1 (fibreverse (- i 1) (cons (head acc) ret) (tail acc))) (setv ret1 (head call1)) (setv acc1 (head (tail call1))) (if acc1 (fibreverse (- i 2) (cons (head acc1) ret1) (tail acc1)) (pair ret1 acc1))) (pair ret acc)) (pair ret acc))) (defun reverse (list) (head (fibreverse 30 nil list))) </code></pre> Whoever has to maintain your code after you are gone will apprrciate that you used the idiomatic, portable approach instrad of relying on command line flags.

4/1/2026, 11:58:06 PM


by: dnmc

Is this the Stephen Dolan of &quot;mov is Turing Complete&quot; fame?

4/2/2026, 12:44:28 AM


by:

4/2/2026, 12:01:49 AM