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