Re:Not Lisp again (2009)
by chriswarbo on Wednesday May 03, 2017 @08:28AM
(#14255075)
> F# and all ML derivatives are an aberration because they use juxtaposition to denote function calls. That eliminates a lot of parens but personally I find the result less readable.
It makes a lot of sense when all functions are curried. Parenthesised function calls treat all of these as different things:
If functions aren't curried, then these all mean different things. When functions are curried, all of these have the same semantics (call `f` with `a`, call the result with `b`, call that result with `c` and call that result with `d`); ML's juxtaposition syntax makes these semantically-identical expressions syntactically-identical too:
It makes a lot of sense when all functions are curried. Parenthesised function calls treat all of these as different things:
If functions aren't curried, then these all mean different things. When functions are curried, all of these have the same semantics (call `f` with `a`, call the result with `b`, call that result with `c` and call that result with `d`); ML's juxtaposition syntax makes these semantically-identical expressions syntactically-identical too: