Arc Forumnew | comments | leaders | submitlogin
1 point by eds 6083 days ago | link | parent

Is that multi-variable form of 'let an Anarki thing? I don't remember seeing it before. It does look really cool though.


1 point by almkglor 6082 days ago | link

It's part of the Arc core destructuring thing. For example:

  (let (x y z) (list 1)
    (prn x)
    (prn y)
    (prn z))
...will assign 1 to x, and nils to y and z. Basically it seems that destructuring is done in the following manner:

  (let gs4932 (list 1)
    (let x (car gs4932)
      (let y (car:cdr gs4932)
        (let z (car:cdr:cdr gs4932)
          (body ...)))))
(NOTE: not exact code, but basically this is how ac.scm handles destructuring)

-----