Throughout the Clojure documentation there are many references to *forms*. I know about special forms, macros, vars, symbols, keywords, integers, doubles, ratios, sets, maps, lists, vectors, booleans, nil, etc.
What exactly, though, is a form? The documentation for the reader says: One might say the reader has syntax defined in terms of characters, and the Clojure language has syntax defined in terms of symbols, lists, vectors, maps etc. The reader is represented by the function read <http://clojure.github.io/clojure/clojure.core-api.html#clojure.core/read>, which reads the next form (not character) from a stream, and returns the object represented by that form. This is fine, but what exactly is the "next form" referred to here? If the next available character in the stream is a left paren whose closing right paren is all the way at the end of the stream, is the next form read the whole stream? If so, does it not also read all of the nested forms? I've not been able to find a precise definition of a form, so any pointers will be appreciated! Thanks -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.