Add lift2 Invokable#302
Conversation
|
So then the question is if this is something that should be part of a potential 1.1 release? |
|
We could add the |
|
I'm thinking that we have the new style of invokables and a lot of hidden overloads that do not get called in 1.1, but provide backwards compatibility for 1.0 |
|
This (Travis only) failure is interesting: CC: @dsyme |
|
Trying to get the fallback from I give up, I will not use Also there are some problems with LeftZero predicate, which also generate more constraints. Maybe we can do a run-time check instead. |
wallymathieu
left a comment
There was a problem hiding this comment.
Would be nice with a test of lift2 for Array
|
I think it looks fine 👍 |
At the moment lift2 is defined in terms of apply and map (or apply and result).
This PR use that definition as default (fallback) and allows to define it more efficiently for each instance.
With the future addition of applicative CEs and the recommendation of using mapN syntax instead of <!> .. <*> the need for specialized lift2 implementation to improve performance of internal applicative code, converges with the need to have efficient lift2 implementations ready to use in applicative CEs to take advantage of the new syntax.
Here we also add two methods to CEs which will be used in F#5 for applicative CEs.