Skip to content
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

feature garbage collection #100

Open
Danielmelody opened this issue Oct 6, 2022 · 0 comments
Open

feature garbage collection #100

Danielmelody opened this issue Oct 6, 2022 · 0 comments

Comments

@Danielmelody
Copy link
Owner

Following R7RS-small

All objects created in the course of a Scheme computation, including procedures and continuations, have unlimited ex- tent. No Scheme object is ever destroyed. The reason that implementations of Scheme do not (usually!) run out of storage is that they are permitted to reclaim the storage occupied by an object if they can prove that the object cannot possibly matter to any future computation.

The three possible situations mentioned in #54

  • unsafe scheme
  • native code with a native gc
  • rust-like lifetime checker to reject unsafe use of closure

Will now end up with the second one.
GC is now necessary for a practical interpreter and also necessary for a compiler, like in chez scheme.

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

No branches or pull requests

1 participant