I implemented the Nimble type inference algorithm from Henry Baker's old Common Lisp paper in Clojure awhile back for #reasons. It's based on lattice/algebraic data flow (Kaplan-Ullman) rather than logical unification (Milner), and works well to calculate type specialization while compiling dynamic languages:

https://www.plover.com/misc/hbaker-archive/TInference.html

Yesterday I added a simple C generator to make something like Pre-Scheme <https://prescheme.org> for #Clojure

@jack why not take over #prescheme since it got abandoned it looks like. https://codeberg.org/prescheme/prescheme
prescheme

Port of the Pre-Scheme compiler to R7RS

Codeberg.org

@nixfreak So far as I know Andrew Whatson is still working on it.

In any case, I have made a few design decisions that differ from theirs (type inference algorithm, source language, I'll probably switch to generating Zig instead of C, &c).

@jack oh ok I’ve been told by multiple individuals that it’s stalled, but that’s good.