generated from omelkonian/agda-minimal-backend
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
enhancementNew feature or requestNew feature or requesticeboxThings that won't happen soonThings that won't happen soon
Description
I believe lambox' evaluation strategy is strict by default.
However in the AST there are two nodes for lazy and force:
We may want to compile some things lazily. Not everything, as this would introduce too much overhead, but for example, stdlib's if_then_else_ should definitely be compiled to lazy branches, so that only one of them gets evaluated.
Alternatively, if_then_else_ compiles to a case on the boolean, so if it is marked as INLINE then no problem, but it isn't, and lambox call-by-value semantics means both branches would get evaluated when calling if_then_else_.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesticeboxThings that won't happen soonThings that won't happen soon