[Haskell-cafe] Re: Release plans
Brandon Michael Moore
brandon at heave.ugcs.caltech.edu
Wed Apr 18 03:02:33 EDT 2007
On Tue, Apr 17, 2007 at 11:39:03PM -0700, Brandon Michael Moore wrote:
> On Tue, Apr 17, 2007 at 12:50:48PM +0200, Doaitse Swierstra wrote:
> > Just to show what kind of problems we are currently facing. The
> > following type checks in our EHC compiler and in Hugs, but not in the
> > GHC:
> >
> > module Test where
> >
> > data T s = forall x. T (s -> (x -> s) -> (x, s, Int))
> >
> > run :: (forall s . T s) -> Int
> > run ts = case ts of
> > T g -> let (x,_, b) = g x id
> > in b
>
> Consider this additional code which also typechecks in Hugs:
>
> v :: forall s . T s
> v = T f
>
> f :: s -> ([s] -> s) -> ([s], s, Int)
> f v g = let x = [v] in (x, g x, 0)
>
> due to parametricity, run v can't depend on x or g x.
> Apparently id has type [x] -> x. Are EHC and Hugs supposed
> to support equirecursive types?
>
> Brandon
Oops, this should have been a reply to the original thread in glasgow-haskell-users.
Brandon
More information about the Haskell-Cafe
mailing list