Thanks for the explanation and reference! It makes sense. 

Jmage
-- 
Securely sent with Tutanota



May 13, 2019, 10:32 AM by a...@software-lab.de:

> Hi JmageK,
>
> > The previous mail quizzed me about, the (set (nth u 5) 1000) part.
> > I understand it basically setting a value at a certain place like u[5] = 
> >1000
>
>> in c like languages. nth returns a list starting from count and set evaluates
>> then sets the value of variable.
>>
>
> The important point to understand here is that a "variarle" in PicoLisp can
> either be a symbol or a cell in a list.
>
> >From doc/ref.html#fun, primary data types:
>
>  var - Variable: Either a symbol or a cons pair
>
>
>> : (cdadr (cdadr incM))-> (0)
>>
>
> This returns a single cell, which may then destructively modified with 'set',
> 'inc', 'pop' or whatever function accepts a 'var' argument.
>
>
> Internal background: 'set' gets a pointer to a part of a cell. For a list cell
> this it
>
>  |
>  V
>  +-----+-----+
>  | CAR | CDR |
>  +-----+-----+
>
> i.e. the CAR if a cell, while for a symbol it is
>
>  |
>  V
>  +-----+-----+                                +-----+-----+
>  |     | VAL |                                |'cba'|'fed'|
>  +-----+-----+                                +-----+-----+
>
> i.e. the VAL (value) of a symbol.
>
> ☺/ A!ex
>
> -- 
> UNSUBSCRIBE: mailto:> picolisp@software-lab.de 
> <mailto:picolisp@software-lab.de>> ?subject=Unsubscribe
>


--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to