Skip to content

Make all the core library globally allocated objects immutable#25

Merged
mjp41 merged 1 commit intophase3from
phase3immutablecore
Dec 18, 2024
Merged

Make all the core library globally allocated objects immutable#25
mjp41 merged 1 commit intophase3from
phase3immutablecore

Conversation

@mjp41
Copy link
Copy Markdown
Collaborator

@mjp41 mjp41 commented Dec 13, 2024

The core library bakes a bunch of objects in, such as types and small integers. This makes all the things that are baked in Immutable using the immutable region. I am not sure if this is the right thing to do. @matajoh had previously made some of the types immutable like this, but not in as extreme a way. The earlier version didn't satisfy the invariant that Immutable can only reach immutable. I believe this more aggressive version will satisfy the invariant.

The core library bakes a bunch of objects in, such as types and small integers. This makes all the things that are baked in Immutable using the immutable region.
@mjp41
Copy link
Copy Markdown
Collaborator Author

mjp41 commented Dec 13, 2024

FYI, I have raised this PR as a discussion point. I am not sure it is the right thing to do.

@mjp41 mjp41 marked this pull request as ready for review December 17, 2024 16:43
Copy link
Copy Markdown
Member

@TobiasWrigstad TobiasWrigstad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@mjp41 mjp41 merged commit 6945ae8 into phase3 Dec 18, 2024
@mjp41 mjp41 deleted the phase3immutablecore branch December 18, 2024 11:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants