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 (> 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 "mov is Turing Complete" fame?
4/2/2026, 12:44:28 AM
by:
4/2/2026, 12:01:49 AM