(car-atom (+ 1 2)) --> [] (should return [+]), whereas (car-atom (cons-atom 1 (2))) --> [cons-atom]. It looks like for some reason arithmetic operations are eagerly evaluated, or maybe it's just that type-checking are not fully implemented in general.
(car-atom (+ 1 2))
-->[]
(should return[+]
), whereas(car-atom (cons-atom 1 (2)))
-->[cons-atom]
. It looks like for some reason arithmetic operations are eagerly evaluated, or maybe it's just that type-checking are not fully implemented in general.