3 ms·
Scala, ocaml, racket, clojure, zig. For recursion only kotlin. (For most of these only with syntax specifying it)
by gpm 12d ago
Scala, ocaml, racket, clojure, zig.
For recursion only kotlin.
(For most of these only with syntax specifying it)
- lioeters 11d agoHow interesting. I'd seen LISP(y) implementations like Scheme guarantee tail-call since recursion is a very common technique in that language family. But I didn't know Zig supported it. https://ziglang.org/documentation/master/#call https://ziglang.org/documentation/master/#call They have an @call built-in that guarantees: always/never tail, as well as always/never inline. That's neat, I can see how that would be useful in various situations.
- chuckadams 10d agoJavaScript too, but only implemented in JavaScriptCore, so basically just Safari and Bun.