This works for me: (define atom? (lambda (arg1) (and (not (pair? arg1)) (not (null? arg1)))))
On Mar 3, 2015, at 3:16 PM, Rufus <rlagg...@mail.com> wrote: > On page 10 of TLS there is a note defining the "atom?" function for the > reader to use w/Lisp or Scheme. The definition for Scheme (which is the > most likely one to use for DrR) does not work. To fix one must remove > the parens that open at the "and". Apparently the DrR > compiler/interpreter sees them as an attempt to invoke a function and > that's not correct here. I don't know if other Lisp versions would find > the code in the book correct. > > In the text below XXX shows where I removed a set of parens to make the > function work. > > (define atom? (lambda (arg1) > XXX and (not (pair? arg1)) > (not (null? arg1)) > XXX > ) > ) > > > Rufus > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users