(def map (f xs)
  (if (no xs)
      nil
      (cons (f (car xs))
            (map f (cdr xs)))))

(map (fn (x) (* x x))
     '(1 2 3 4 5))
