Okay, Michal, I see what you mean.

Let me revise my first question, then, to replace "form" with "expression,"
where by expression I mean a form whose first element will be called as a
function when the form is passed to eval.

(Revised version: What characterizes an expression? Is it correct to say
that an expression is always something for which seq? returns true and never
something for which seq? returns false?)

And please consider the other questions revised as appropriate. In
particular, please restrict my question about quote and syntax-quote to
situations where they quote a form demarcated by parens. I would still like
to know whether there is anything certain about the types returned by quote
and syntax-quote when they are called on a paren-demacated form.

Thanks.

Garth

On Sun, Feb 14, 2010 at 8:31 PM, Michał Marczyk <michal.marc...@gmail.com>wrote:

> 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<clojure%2bunsubscr...@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 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

Reply via email to