On Thu, Dec 16, 2021 at 12:20 AM pd <eukel...@gmail.com> wrote:

>   This way the syntax and behaviour in picolist is not internally
> coherent, every function application must be a list but for quote, which
> can be not a list but an improper list.
>
> Maybe I'm misunderstanding something.
>
> indeed the example in picolisp reference for quote [Q (software-lab.de)
<https://software-lab.de/doc/refQ.html#quote>] seems strange to me, it
suggest you should use quote in a proper list as in all lisp:

: (quote (quote (quote a)))
-> ('('(a)))

but I think it should be written   (quote . (quote . (quote . a))) to be
compatible with quote syntax in picolisp and also with the behaviour of all
lisp I know about, in any lisp you get:

: (quote (quote (quote a)))
-> (quote (quote a))

(quote (quote a))  is equal to ''a   which is what you get in picolisp
with  (quote . (quote . (quote . a)))

Also I think you get collateral damage,  in lisp:

(eval (quote (quote (quote a))))  ->  (quote a)

in picolisp:

(eval (quote (quote (quote a))))
|? ('(a))
quote -- Protected
?

regards

Reply via email to