My hobbyist continuations-based programming language is now self-hoisting. Wohoo! 🎉

Here, gorge your eyes on this cryptic list reversion routine deep in the compiler:

#languagedesign
#ContinuationPassingStyle
#FunctionalProgramming

1. Continuations are like JS callbacks, but without the implicit return.
2. `-> params...; next args..` creates a new continuation. Semicolons and newlines are identical.
3. To pass a continuation to another (e.g. for return values), or you wrap the inner one in parentheses `(-> ..; ..)`, or you use a `->` as the final argument `.. -> ..; ..`
4. The `(-> LET; LET y) -> x` is an immediately-executed continuation, here used to assign y to x.

#AskFedi: Are there any fellow #LanguageDesign enthusiasts around here?

I would love to swap notes with someone -- been toying around with making programming languages as a hobby, and just got to making my first proper self-hoisted compiler recently. (: