RE: [Template-haskell] RE: [ ghc-Bugs-820778 ] Malformed Predicate w/ Template Haskell
I was wrong. Multi-parameter classes are there. What was wrong was
that Jon Cast's program constructed the predicate
varT "Flatten" `appT` t
whereas he should have used "conT". So there are two issues really:
1. It is in fact legal to have predicates like (m Int)
forall m. (m Int) => ...
but hsSyn/Convert.lhs didn't handle that. I've fixed that.
2. But it's really an error to allow (varT "T") or (conT "x") at all.
Haskell does not
allow lower-case type constructors or upper case type variables. So,
should varT, conT
test and fall over? Or should we instead remove the distinction between
varT and conT?
Simon
| -----Original Message-----
| From: Wolfgang Thaller [mailto:wolfgang.thaller@gmx.net]
| Sent: 30 October 2003 21:24
| To: Simon Peyton-Jones
| Cc:
participants (1)
-
Simon Peyton-Jones