Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The F# syntax is an incredibly simple bit of syntactic sugar.

Just replace this:

    x |> f
With this:

    f(x)

For the join example, you must do this:

    xs
    |> (x => x.join(' '))
It de-sugars to:

    (x => x.join(' '))(xs)
... which of course is simply:

    xs.join(' ')


Sure, I know. What I actually mean is that I don't grok curried functions.

Does join(a)(b) mean join(a, b) or join(b, a)? Does it mean a.join(b) or b.join(a)? And is a or b the delimiter? I don't really feel confident without looking it up or trying it out. I have a similar problem with Haskell's function syntax a -> a -> a.

If the function was called makeJoinerBy(sep)(array), it would be somewhat clearer:

    join = makeJoinerBy(' ')
    result = join(array)




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

Search: