Beautiful Racket

Table of Contents

First chapters of BR are quite simple but introduce you to several techniques that end up being used in the latest 3 chapters where you implement a BASIC itnerpreter/compiler.

What happens in some chapters is that the translation is just a syntactic one, and it feels like just doing the parsing (which is cool btw) but you can't really implement behaviors that aren't equal at the semantic level on Racket.

Those DSLs use global variables, so there's an "easy way", in racket: define in the toplevel. The question is, what if I'd like to implement something that doesn't have a direct mapping1 to the underneath Racket features? Nice thing is that Racket has a shiton of features so it probably won't happen for the first 700 Programming Languages you're gonna write, but the question still remains. Did I learn how to do everything? (without going into computability academic discussions)

refs

Footnotes:

2

Yay footnotes!

Author: Raimon Grau

Created: 2020-12-09 Wed 09:05

Validate