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

Unique Environments Per Lambda #50

Merged
merged 17 commits into from
Nov 20, 2021
Merged

Unique Environments Per Lambda #50

merged 17 commits into from
Nov 20, 2021

Conversation

iwillspeak
Copy link
Owner

@iwillspeak iwillspeak commented Nov 13, 2021

Switch to mimic the behaviour of Roslyn;s ‘=DisplayClass. Instead of a shared type for all closures we should instead have one per closure environment.

Fixes: #47

TODO:

  • Split environments per lambda
  • Embed captured values directly rather than using slots
  • Only make instance methods on the environment iff the parent is captured spun off as Remove ParentEnvironment from EmitCtx #51
  • Stop generating empty leaf environments

@iwillspeak iwillspeak added feature New feature or request Roadmap Larger scale planned feature or tracking issue labels Nov 13, 2021
@iwillspeak iwillspeak self-assigned this Nov 13, 2021
We use UTC time rather than IAT, but hopefully that's close enough. For
jiffies we use stopwatch ticks.
Implement the functions from the process context library.
Add a subset of SRFI 27 for common random use.
Remove the indirection of laoding and saving from the environment slots.
Slots are insted replced by fields directl in the environment.
Update the docs + README with Ergates drawing.
Don't create otherwise empty environments when only the parent is
catpured. Instead these methods can become instance methods on the
parent environment instead. We thread the this pointer and avoid some
overhead and indirection this way.
Simplify the representation of the environment kinds. We don't need to
store the captures list, and we don't need to mustate the local.
@iwillspeak iwillspeak merged commit 1eaf7b4 into main Nov 20, 2021
@iwillspeak iwillspeak deleted the better-environments branch November 20, 2021 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request Roadmap Larger scale planned feature or tracking issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Better Environment Management
1 participant