
On Mon, Dec 23, 2013 at 9:57 AM, Angus Comber
Why are the brackets required? And what do they signify? Eg reverse' x:xs = reverse' xs ++ [x] results in a parse error.
If you leave them off then it's parsed as three parameters instead of a pattern as a single parameter. But that also leads to a parse error since you can't use a bare operator that way. Which is "weird", but you can get into inconsistent parses if you try to guess that the parentheses are needed: should it be `(x:xs)` a pattern, or should it be `x (:) xs` 3 patterns with an infix constructor as the second? -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net