📕 subnode [[@ryan/20210503150518 implementing_languages_in_racket]] in 📚 node [[20210503150518-implementing_languages_in_racket]]

Rackethas a lot of tools for implementing new programming languages.

Process

In general, there are two steps to implement a new language in Racket: you must first implement a reader and then an expander.

Reader

The reader is like a parser. It takes text and converts it into s-expressions

Expander

The expander is what either generates Racket code or otherwise how the s-expressions from the reader correspond to Racket code.

Links

📖 stoas
⥱ context