On Feb 6, 2019, at 11:28, Matthias Felleisen <[email protected]> wrote:
> On Feb 6, 2019, at 2:22 PM, 'Paulo Matos' via Racket Users 
> <[email protected]> wrote:
>> Interestingly according to Matt these ideas were already floating around at 
>> his uni as early as 98?
> My recollection is that Kent taught with this approach because it simplified 
> homeworks for students and graders and I encouraged him to write it up for 
> the “education pearl” section that I launched for JFP in ’03. 

When I took Kent’s compilers class (which would’ve been around ’98 or ’99), 
which he co-taught with Dan Friedman, they were in the early-ish stages of 
exploring the idea; it might have been the first year of implementation, and I 
don’t doubt it helped the graders since the class was fairly large. I can say 
from a student perspective, it was really helpful for understanding what was 
going on: each pass had one very specific purpose — a few maybe had two, but 
almost all passes were straightforward on their own. By the end of the semester 
we had a Scheme-to-Sparc-ASM compiler written in about 36 passes.

At the time, the only special tooling we had was a form of match that had a 
shorthand for “recur and bind variable(s) to the result(s)”, so we had to write 
all the just-copy-the-AST branches of our recursion manually. A big chunk of 
the work in implementing nanopass was setting up a language-definition 
framework that’d allow the copying code to be generated.

Cheers,
Jordan

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to