On 15 February 2010 02:02, Garth Sheldon-Coulson <g...@mit.edu> wrote: > If it's correct to say that a form is always something for which seq? > returns true and never something for which seq? returns false, [...]
The traditional Lisp view would be that *anything* that can be passed to eval is a form, cf. Common Lisp the Language, 2 ed., section 5.1. Forms: http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node56.html#SECTION00910000000000000000 Note that a "form" as defined there is a data structure, not a piece of concrete syntax. The meaning of the word seems to be extended frequently to cover any self-delimited expression in Lisp's concrete syntax, which becomes a slightly more involved notion in the presence of reader macros (#^{:foo "bar"} [1 2 3], say, would be a single "concrete form"). As far as I can tell, Clojure's eval will accept basically any sort of object as a form, with things for which no special behaviour is defined taken to be self-evaluating. That seems to be the usual behaviour for a Lisp dialect. Sincerely, Michał -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en