[racket] Using Scheme to design C programs

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Fri Sep 3 06:31:48 EDT 2010

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.


Posted on the users mailing list.