Q: Why is Racket’s parsing system so complicated (Scheme)?

A: Circa 2016, Racket’s internal syntax representation system had to be revised because of macros, or “code rewriting” or “code-to-code procedures.” Matthew Flatt can explain in his paper, “Binding as Sets of Scopes” in POPL 2016, and also on his online notes on the new macro expander system for Racket (also formerly PLT Scheme). Q: […]

In Scheme, even your keywords could be redefined.

Over the past few months, I’ve started the¬†shaka-scheme¬†project for my senior project at the University of Hawaii at Manoa, and I wanted to highlight two pieces of code that recently changed our entire course of development: (define proc1 (lambda () (define define 1) (display “define is actually “) ; This doesn’t display a procedure literal… […]