
cm wrote:
The logic of making "function application as easy as possible" in Haskell is compelling, yet I can't help but wonder if an alternate context dependent syntax would be desribable? Specifically, when inside a pair of brackets make construction of lists as easy as possible as opposed giving priority to functions.
I guess that would be possible, but there are some technical problems, e.g. what to do with binary operators. Would [a + b c] mean [(+) a (b c)], [(+) a b, c], [a, (+), b, c], [a, (+), b c] or something else? Currently, it means the first of these choices. However, I don't see why it would be a good idea. The obvious disadvantage is making the syntax more complicated, and more fragile. For example, you no longer could move an expression inside a brackets while refactoring your code. Regarding possible advantages: Do you have a specific use case in mind, which could be written easier or cleaner with this list syntax? Tillmann