On Feb 18, 2012, at 2:42 PM, Gary Baumgartner wrote: >> (filter (lambda (v) (if (and (>= v start) (<= v end)) #t #f)) >> storedlst) >> ))) > [...] > > Consider just (lambda (v) (and (>= v start) (<= v end))) --- no 'if'.
I see a lot of my students doing this -- in whatever language -- because they think of Booleans as a way to decide which of two things to DO, rather than as legitimate values in their own right. In fact, the whole world of expressions is a bit of a foreign country -- a sort of "adjunct" to the more-legitimate world of statements. if (blah == true) { return true; } else { return false; } For those of us forced to teach in Java, CheckStyle has two modules, SimplifyBooleanExpression and SimplifyBooleanReturn, that catch things like this. Stephen Bloch sbl...@adelphi.edu ____________________ Racket Users list: http://lists.racket-lang.org/users