On Arc Forum, tubsy notes that mutating cons cells doesn't work in the latest official Arc 3.2 release:
arc> (= x '(1 2 3))
(1 2 3)
arc> x
(1 2 3)
arc> (scar x 'a)
a
arc> x
(344739504129 . 10059776)
@akkartik further observes that the Anarki stable branch is broken this way as well.
This is probably because #183's updates to unsafe code for Chez Scheme-based versions of Racket were only applied to Anarki's master branch.
A couple of days after #183 was merged, Racket introduced unsafe-set-immutable-car! and unsafe-set-immutable-cdr! specifically as a more stable unsafe way to mutate immutable cons cells going forward. This was available starting with the Racket 8.0 release. We should probably migrate both the master and stable branches to that.
On Arc Forum, tubsy notes that mutating cons cells doesn't work in the latest official Arc 3.2 release:
@akkartik further observes that the Anarki
stable
branch is broken this way as well.This is probably because #183's updates to unsafe code for Chez Scheme-based versions of Racket were only applied to Anarki's
master
branch.A couple of days after #183 was merged, Racket introduced
unsafe-set-immutable-car!
andunsafe-set-immutable-cdr!
specifically as a more stable unsafe way to mutate immutable cons cells going forward. This was available starting with the Racket 8.0 release. We should probably migrate both themaster
andstable
branches to that.