[Haskell-cafe] GHCi infers a type but refuses it as type signature
wren ng thornton
wren at freegeek.org
Thu Jun 25 19:25:59 EDT 2009
Bulat Ziganshin wrote:
> Hello wren,
>
> Thursday, June 25, 2009, 6:35:36 AM, you wrote:
>
>> Rank2Types, RankNTypes, ExistentialQuantification, ScopedTypeVariables,
>> and GADTs are fairly benign ---though this is where you start loosing
>> compatibility with non-GHC compilers.
>
> afair, except for GADTs these are supported by Hugs. actually, until a
> last few years, GHC and Hugs were pretty close on extensions list
True. I couldn't remember whether Hugs supported RankNTypes or not. In
my mind all these extensions are of roughly the same bleeding-edge-ness,
which is to say more than MPTCs and fundeps, but less than Template
Haskell and type families. That's not entirely fair since GADTs are more
bleeding-edge than Rank2Types (as witnessed by being GHC-only and still
undecided on by the haskell' committee), and fundeps are still difficult
to implement correctly, but all the same.
Haskell98 has a Hindley--Milner type system (more or less). My point was
that once you start extending the type system as far as existential
quantification, higher-order universal quantification, polymorphic
components, existential components, GADTs, and the like then you've left
HM so far behind that most Haskell compilers cannot keep up. UHC also
supports Rank2Types/RankNTypes and ExistentialQuantification, though it
doesn't support fundeps. I don't know how well nhc98, yhc, jhc, or lhc
support options like these or what the timeline would be for offering
such support. In short, this is where portability beyond GHC becomes spotty.
--
Live well,
~wren
More information about the Haskell-Cafe
mailing list