fundeps syntax is ugly

> Multi-parameter classes with functional dependencies
When I first learned functional dependencies
I remember I was really confused by their syntax.
First, it is hard to find it defined:
The GHC docs have barely three lines
http://www.haskell.org/ghc/docs/latest/html/users_guide/type-extensions.html#functional-dependencies
and they refer to Mark Jones' paper
which has a different notation than GHC's
In Mark Jones' paper, the syntax is "tuple" notation,
GHC uses | a b c -> d e where concatenation stands for grouping.
where one would expect 'a b c' to mean application in Haskell
(at the values level and at the type level).
So when I first saw this, I thought this must be a kind error
(if a has kind *)
Otherwise in Haskell, we use parentheses and commas
for grouping (export lists, type constraints, deriving)
which is somehow wrong because the group in this case
is a set, not a tuple.
(With that respect, braces in records and let and where are OK,
since order is irrelevant, but in do { .. } they are not,
but that's how we show our sympathy to C and Java, right.)
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
---- http://www.imn.htwk-leipzig.de/~waldmann/ -------