title: Scheme filters - "wrong value to apply: #f"
body: <p>I'm trying to filter out a list based off of a predicate I wrote myself, but when I run the filter, I get</p>
  
  <pre><code>ERROR: Wrong value to apply: #f
  </code></pre>
  
  <p>The code of the predicate:</p>
  
  <pre><code>;;;Predicate for checking if a string is not empty or full of whitespaces
  (define (notwhitespace? str)
    (if (equal? str "") #F (
      (call-with-current-continuation
       (lambda (return)
        (for-each
         (lambda (c)
           (if (not (char-whitespace? c)) #T #F))
          (string-&gt;list str))
          #F))
        )
      )
  )
  </code></pre>
  
  <p>this is my implementation of the filter (it is in a let statement):</p>
  
  <pre><code>(updated-strlist(filter notwhitespace? strlist))
  </code></pre>
  
  <p>any ideas? thanks!</p>