Arc Forumnew | comments | leaders | submitlogin
5 points by CatDancer 3362 days ago | link | parent

This makes it hard to use lists as keys for tables:

    arc> (let x (table)
           (= (x '(a b)) t)
           (x (list 'a 'b)))
As list returns a Scheme list and the key is not ac-niltree'd before being passed to hash-table-get or hash-table-put!, the two lists are not Scheme hash table equal? and so represent different keys in the table.

1 point by pg 3348 days ago | link

Ok, this is now fixed. The Arc def of list now makes an explicit copy. Rtm has ambitions of one day making rest args ac-niltreed copies in ac.scm, whereupon we can return to the nice simple def of list.