You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary:
Type checking currently turns off coeffect checks when checking the virtualized expression of an expression tree. This gets in the way of unifying the virtulaized repression and runtime expression, which I plan to do. Marking lambdas in the virtual expressions as pure will allow the expression trees to be used inside of pure functions. The only tricky bit is that the virtualized expression can contain assignments to properties where the expression tree expression does. We wrap those statements in lambdas with `write_prop` capabilities, and don't call the lambda. This keeps the type checking, and doesn't change runtime behaviour since the virtualized expression is never run.
This does mean that property assignment in expression trees will no longer refine the type of the property.
Reviewed By: viratyosin
Differential Revision: D52842485
fbshipit-source-id: dffcff241cc79dded3600b80a9eb60acb4cc13d7
0 commit comments