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 >
