On Feb 6, 2019, at 11:28, Matthias Felleisen <matth...@felleisen.org> wrote:
> On Feb 6, 2019, at 2:22 PM, 'Paulo Matos' via Racket Users 
> <racket-users@googlegroups.com> 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 racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to