[racket] idiomatic and fast
My opinion is to start by *not* using "for"-something forms. I'd
suggest starting with named-"let" or recursive named procedures, and
going from there. I think you'll find yourself wanting "set!" less once
you kick "for"-something to the curb.
I think that "for"-something forms are for people who already know how
to do it backwards and forwards (that's a significant pun) without the
"for"-something forms, and know when using "for"-something is OK (i.e.,
when "for"-something" is making something more readable without
preventing you from seeing a better solution),
(Some student should try making a video-game-like leveling and unlocking
system for DrRacket. This would be for people who are learning Racket
without working through HtDP: they have a big language and don't know
which features are best to learn first, nor when they've learned them
well. So, with the unlocking system, they'd have to slay a lot of
little orc problems with named-"let" before they get to wield
"for/list", and they unlock "set!" only after defeating a big boss of a
problem pure-functionally. I am half-joking, but it could be a fun,
semi-viable project.)
Neil V.
--
http://www.neilvandyke.org/