Arc Forumnew | comments | leaders | submitlogin
2 points by raymyers 5918 days ago | link | parent

You gave `map' strings as input, so it attempts to return a string. That means it is trying to map the output of `is' into the characters of a string, but t and nil aren't charactors.

  (def char-is (a b) (if (is a b) #\t #\f))
  (map char-is "abba" "abab")  =>  "ttff"
Common Lisp addresses this issue by having `map' take a result type as the first argument.

http://www.lisp.org/HyperSpec/Body/fun_map.html