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