Skip to content

Migrate master and stable branches to unsafe-set-immutable-c[ad]r! #218

Open
@rocketnia

Description

@rocketnia

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions