[nhc-bugs] nhc98 1.14 FFI issues
Manuel M T Chakravarty
chak@cse.unsw.edu.au
Wed, 11 Sep 2002 19:07:46 +1000 (EST)
Malcolm Wallace <Malcolm.Wallace@cs.york.ac.uk> wrote,
> 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.
Hmm, ok. Unfortunately, there is no way around the
existentials here.
> > 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.
Which is why I also don't like GHC's all-extensions-or-none
strategy. It is better when extensions can be enabled
individually.
Cheers,
Manuel