[nhc-bugs] nhc98 1.14 FFI issues
Malcolm Wallace
Malcolm.Wallace@cs.york.ac.uk
Tue, 10 Sep 2002 15:14:27 +0100
Manuel M T Chakravarty <chak@cse.unsw.edu.au> writes:
> > > ====== Errors after type inference/checking:
> > > No default for Parsers.Token at 282:3.(1378,[(173,1432)])
> > > No default for Parsers.Token at 254:32.(1267,[(173,1433)])
> > > No default for Parsers.Token at 223:1.(1061,[(173,1188)])
> > > No default for Parsers.Token at 204:25.(1180,[(173,1187)])
>
> I don't see how this applies to my code (ie, I don't think
> the DMR comes in anywhere).
It is possible that the source of nhc98's difficulty is the use of
existential types, e.g.
data Token t =>
Parser a t r = forall q. Parser (Action a t q r) (Cont a t q)
although I can't verify this hypothesis at the moment.
> Besides, even if the "curious" interpretation of the
> defaulting rules would apply to me, I don't think this is a
> nice setup.
I agree, but unfortunately nhc98's implementation of the Haskell type
system is not fully understood by any one person, even the original
author. This makes fixing bugs rather tricky. :-) Ideally, we would
like to replace the whole type sub-system with a more transparent
implementation.
> It's fine for nhc98 to implement extensions to
> H98, but they should only be activated when a special
> command line option is given.
Indeed. However, I would point out that your code is already using
extensions to Haskell'98, so you would already have had this flag
switched on.
Regards,
Malcolm