| What's the official status of cyclic lists in Arc? Are they allowed? Disallowed? Subject to certain conditions? Whatever works is allowed? Currently, Arc lets you create them, but if you try to display one, you end up in swap death. arc> (= x '(a b))
(a b)
arc> (do (scdr (cdr x) x) t)
t
arc> (x 1001)
b
arc> x
...hangs until ^c...
> _x
#0=(a b . #0#)
Note that mzscheme is happy to display the circular list. The (do ... t) wrapper merely avoids displaying the scar result. |