I t was very interesting. I was wondering if anyone knows the reason behind a specifict F# design decision.
About the pipe operator: |>
Why is a |> b c interpreted as a |> (b c) instead of (a |> b) c ? Isn't left to right most logical?
A more specific example:
let multiply a b = a * b;;
let substract a b = a - b;;
multiply 2 3 |> substract 10;;
so it is interpreted as:
multiply 2 3 |> (substract 10);;
while it seems logical to interpret this as:
(multiply 2 3 |> substract) 10;;
furthermore, in response to the question from your audience, about inserting the middle parameter, you could have answerd:
let answer a b c = a / b - c;;
if you want to insert the middle parameter b,
(multiply 2 3 |> answer 30) 4;;
will yield the desired result...