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

Reply via email to