Before I started learning Scheme, I had a related but not as grand experience in a compilers course.

I built my compiler in C++, but used MACROS FROM HELL for certain aspects. I incidentally found an improvement to the way everyone was implementing a certain algorithm, which was obvious in the poor-man's DSL that I had implemented in CPP macros. I also wrote an Emacs Lisp program to turn another DSL into some hairy C code that was required for another part of the compiler. Ultimately, I was one of only two people to get their compiler to work, which I attribute partly to Scheme-ish mindset (and partly to having more experience at that point, admittedly). Actually, the other student who finished had done undergrad at MIT during the SICP era, so I'm going to credit Scheme-ish thinking for his success too. :)

Thinking like DSLs and mini-languages is a big deal in software development. Perhaps, as industry discovers that, they'll also discover that Scheme is an excellent tool in that regard.

--
http://www.neilvandyke.org/
_________________________________________________
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/users

Reply via email to