On Fri, Feb 03, 2017 at 10:04:02PM +0100, pd wrote:
> The reason for this difference is let behaviour: let binds a symbol to a
> value *inside* let expression but first saves values of binding symbols and
> once evaluated the expression it restores previous symbols values saved.
Your explanations are correct. Thanks!
> As picolisp seem not to have a let* like in classical lisp I assume let
> bindings are done in parallel as traditionally let behaves in classical
No, it is the opposite: The PicoLisp 'let' evaluates and binds the values one
after the other, not in parallel, so it behaves like 'let*' in Common Lisp:
: (let (A 3 B (+ A 4)) # B depends on A
(cons A B) )
-> (3 . 7)