-
Notifications
You must be signed in to change notification settings - Fork 12
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
Lazy evaluation #471
Comments
Do you mean in the semantic domain (i.e. |
I think yeah, if we wanted to do this we might need to use some sort of defunctionalised approach – is that what I had in Pikelet? |
Just in the semantic domain for now. We could add laziness as a user facing feature later, if it's useful. |
Doesn't matter if its defunctionalised or not, the problem is that if a type has an |
Actually, I was able to fix the lifetime errors: just required being explicit about lifetimes in some |
Oh nice - yeah, can be hard to figure out whether adding explicit lifetimes can help when trait elision is involved… |
We may at some point want to implement lazy evaluation:
letrec
terms #469)I tried to copy the
LazyValue
implementation from Pikelet, butLazyValue
usesOnceCell
, which makesValue
invariant over its'arena
lifetime, and introduces lifetime errors everywhere. Not sure if they can be fixed, or if we can implement lazy evaluation some other wayThe text was updated successfully, but these errors were encountered: