Skip to content

Proposal: Don't export set! from plai/gc2/collector. #11

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

stamourv
Copy link
Contributor

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.

@jeapostrophe
Copy link
Contributor

I am nervous about making such changes, given how old this code is and how there are likely to be instructors with their own collectors working the way they want. Do you think it would be reasonable to make an additional pure-collector.rkt (or something) that is this file without any of the the data structures (map, etc) and then provide everything from that here, plus a compatible set of functions?

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