Proposal: Don't export set! from plai/gc2/collector. #11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context: we're using plai/gc2 for our PL course.
We have an assignment where students write their own GC, which must not do any PLAI-level allocation; all their state must be in the plai/gc2 heap.
One easy way to break that rule accidentally is to use PLAI-level mutable globals to hold GC state.
By not providing
set!
as part of the collector language, that's harder to do.I don't know how others use plai/gc2, so maybe that change is not appropriate in other contexts, and/or would break collectors that are considered ok in other classes.
Just thought I'd throw the idea out there (@florence's ideal, really) to see what people think.
A bigger change that could also help with that would be to also remove
list
,map
, etc. from the language, but I could see that breaking other ways of writing GCs that others may use.