[racket] Using Scheme to design C programs
This may be old hat to some, but I just saw this short essay on Reddit and
thought it was interesting. From 2000, the author writes about having
used Scheme to design a C program that he could not have written from
scratch.
It also reminded me of some of the ideas from HtDP about programming as
algebra and "the importance of a structured, systematic approach to
programming". Perhaps not coincidentally, the author is/was a grad
student under Dan Friedman, sometimes co-author with Matthias Felleisen.
It makes me eager to get back to learning Racket.
« What I had been learning in my Programming Language course, however, was
that I really could manage my own control flow if I wanted. Furthermore,
I could start with a simpler, more naive program and basically DERIVE the
sophisticated one through a series of correctness-preserving program
transformations. This is where Scheme really won. Because of its
extremely algorithmic---almost mathematical---nature, Scheme can be easily
manipulated in a sort of algebraic style. One can follow a series of
rewrite rules (just about blindly) to transform a program into another
form with some desirable property. This was exactly what I needed. »
"Is Scheme Faster than C?"
http://www.cs.indiana.edu/~jsobel/c455-c511.updated.txt
found via http://www.reddit.com/r/scheme/comments/d7h3j/