Arc Forumnew | comments | leaders | submitlogin
3 points by map 6122 days ago | link | parent

As you hinted, the output of your example surprised me:

  (1)(1 1)
And your suggestion fixed my routine. But I don't understand why.


5 points by eds 6122 days ago | link

It's because 'quote doesn't necessarily create a new list every time (at least not in function definitions). If you do

  (def foo ()
    '(a b c))
(foo) will return the same list every time, so if you modify the list in or before your next call, you'll get the modified instead of the original value.

-----

2 points by map 6122 days ago | link

That helps. Thanks.

-----