Hacker News new | past | comments | ask | show | jobs | submit login

For the non initiated amongst us who might be confused, F# has first class functions and everything is curried.

The expression you see is evaluated left-to-right. (|>) is a function taking a_value and (fun a b -> a+b) as arguments and applying a_value to the function. This returns a function taking b as an argument (that’s called a partial application). (<|) is once again a function taking the resulting function and b_value as arguments and applying b_value to its first argument which finally returns the wanted results.

The issue with unary function doesn't exist in F# because every functions can be seen as a unary function returning a function taking one less argument thanks to partial application. That's the beauty of currying.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: