On Mon, Oct 19, 2009 at 5:34 PM, Will Ness <[email protected]> wrote: > This syntax already exists. The '`' symbol is non-collating already, so using > it for symbol chars doesn't change anything (it's not that it can be a part of > some name, right?). To turn an infix op into an infix op is an id operation, > made illegal artificially at the scan phase after a successful lex (or > whatever).
If I've accidentally applied syntax meant for a prefix operator to an infix operator, *I want the compiler to tell me*, and not to silently accept my mistake. > Not a hack, a solution. A consistent one. Look: > > (`foldl` 0) > (`-` 2) > > Don't they look exactly the same? No, because the latter is applying prefix-to-infix syntax to an infix operator. It's understood that non-alphanumerics are infix by default, and I want the compiler to scream at me if I try to use one where it expected a prefix op. > Why wouldn't it be made legal? Show me one inconsistency it introduces. You've said that you want to be able to do this for the sole case of the - (minus-sign) operator: > Operators are great because they make our intent visible, immediately > apparent. Long words' meaning, like subtract's, is not immediately apparent, > and they break consistency. Not everyone's first language in life was English, > you see. I don't buy this rationale. Haskell has plenty of English words as function names all over the place; if you can't handle "subtract", how are you handling Haskell at all? Sure, the minus-sign issue is a wart, but it's less awkward than the solution you propose for a problem I doubt you really have. :-) _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
