FSharp order of function parameters
f#, functional-programming
Solution
The first order (predicate, sequence) is more appropriate for chaining sequence combinators via the `|>` operator. Typically, you have a single sequence to which you apply a number of operations/transformations, consider something like
xs |> Seq.map ... |> Seq.filter ... |> Seq. ...
etc. Reversing the order of the parameters to (source, predicate) would prohibit that (or at least make it much more awkward to express). That (and maybe also partial application) is why for (almost) all the default `Seq` combinators the last parameter is the sequence the operation is applied to.
Problem
Since functions in FSharp with multiple parameters get curried inherently into functions with only one parameter, should the signature of `Seq.filter` have to be ``` Seq.filter predicate source ``` ? How different will it be from ``` Seq.filter source predicate ``` Thanks