|
|
|
|
|
by renox
1231 days ago
|
|
I think you're wrong if (+ 2 3) means apply the + function with the 2 3 arguments then
(Paris Berlin London) means apply the Paris function with the Berlin London arguments.. AFAIK if you want a list either you use (list a b c) or you use '(a b c)
which I find less regular than +(1 2) or (1 2) which is equal to list(1 2) |
|
Often, it will be interpreted to be a function call or a macro invocation in the eval step (the E in REPL).
You can sidestep this behaviour using the ' reader macro (i.e. quote) as you mentioned yourself. Quoting disables this behaviour for the form that the reader macro applies to. Reader macros occur in the R step (i.e. before the E in REPL).
It is a list data structure. There are many examples of lists which are never interpreted as function calls in Lisp, since macros run before evaluation and can change the default behaviour, e.g. in
the (x) is not a function invocation, it's a list of named function parameters.