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
Currently FEC stores the data in the nested lambda closure and then calls method Curry to remove the closure from the lambda signature.
For example for nested Func<int> the Curry is Func<int> Curry(Func<Closure, int> f, Closure c) => () => f(c). It means that Curry creates another closure over f and c.
To avoid that, we may store the f in c and use an extension method for closure to use the closure as target, e.g. T Closure.Func<T>(this Closure c) => c.f(c); and use it as Func<int> f = c.Func<int>which is not a valid C#.
The text was updated successfully, but these errors were encountered:
Currently FEC stores the data in the nested lambda closure and then calls method
Curry
to remove the closure from the lambda signature.For example for nested
Func<int>
the Curry isFunc<int> Curry(Func<Closure, int> f, Closure c) => () => f(c)
. It means that Curry creates another closure over f and c.To avoid that, we may store the f in c and use an extension method for closure to use the closure as target, e.g.
T Closure.Func<T>(this Closure c) => c.f(c);
and use it asFunc<int> f = c.Func<int>
which is not a valid C#.The text was updated successfully, but these errors were encountered: