Yes, that helps!
So, PicoLisp is definitely "a Lisp" but differs a lot from the others as
well.
That's fine, if it is better also ... 😁
Thx!

2018-05-23 15:21 GMT+02:00 Alexander Burger <[email protected]>:

> Hi Arie,
>
> > Playing around I got this surprise:
> > I wanted to set variable x to value '(1 2 3 4):
> > 1. first try (without RTFM):
> > ...
> > 2. second try (superficially RTFM)
> > ...
> > 3. third try (now RTFM)
>
> Yeah, as you see, PicoLisp is radically different both from CL and Scheme
> :)
>
>
> >    : (de x . '(1 2 3 4))
> >    : x
> >    -> '(1 2 3 4)
> >
> >    Bingo! I now can see a master plan to keep the number of
> >    functions limited, but more versatile.
>
> 1. Note that normally you set a symbol value with either 'setq' or 'let'.
>
>       : (setq x (1 2 3 4))
>       -> (1 2 3 4)
>       : x
>       -> (1 2 3 4)
>
>
> 2. Also, are you sure you want the quote here? As can be seen above, lists
>    starting with a number don't need to be quoted at all.
>
>    But as 'de' does not evaluate its arguments, what you actually did was
>    setting 'x' to the 5-element list (quote 1 2 3 4).
>
>
> 3. A dot followed by a list is just a list:
>
>       : (de x . (1 2 3 4))
>
>    is the same as
>
>       : (de x 1 2 3 4)
>
>    In both cases:
>       : x
>       -> (1 2 3 4)
>
>
> 4. 'de' is basically like a non-evaluating 'setq' with checks for changes:
>
>       : (de x 5 6 7)  # Changed value!
>       # x redefined   # gives a redefined message
>       -> x
>
>       : x
>       -> (5 6 7)
>
> I hope this clears up things a little ;)
> ♪♫ Alex
>
> --
> UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe
>

Reply via email to