anarki
anarki copied to clipboard
Migrate `master` and `stable` branches to `unsafe-set-immutable-c[ad]r!`
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.