On 12/30/11 10:58 PM, Matthew Farkas-Dyck wrote:
On 30/12/2011, Andriy Polischuk<quux...@gmail.com>  wrote:
Consider this example:
quux (y . (foo>.<  bar).baz (f . g)) moo
It's not that easy to distinguish from
quux (y . (foo>.<  bar) . baz (f . g)) moo

Yeah, that's why I dislike dot as compose operator (^_~)

Me too. Though I've been told repeatedly that we're in the losing camp :(

Given that we want to apply selectors to entire expressions, it seems more sensible to consider the selector syntax to be a prefix onto the selector name. Thus, the selector would be named ".baz" (or ":baz", "#baz", "@baz",...), and conversely any name beginning with the special character would be known to be a selector. Therefore, a space preceding the special character would be optional, while spaces following the special character are forbidden. This has a nice analogy to the use of ":" as a capital letter for symbolic names: function names beginning with the special character for record selectors just indicate that they are postfix functions with some mechanism to handle overloading (whether that be TDNR or whathaveyou).

--
Live well,
~wren

_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to