[Haskell-cafe] Erroneous interaction between DataKinds and ExistentialQuantification?
Simon Peyton-Jones
simonpj at microsoft.com
Fri Oct 19 13:50:04 CEST 2012
Quite right -- a bug. Thank you. I'll add it to the regression suite
Simon
| -----Original Message-----
| From: haskell-cafe-bounces at haskell.org [mailto:haskell-cafe-
| bounces at haskell.org] On Behalf Of Stefan Holdermans
| Sent: 17 October 2012 21:45
| To: Haskell Cafe
| Cc: José Pedro Magalhães
| Subject: [Haskell-cafe] Erroneous interaction between DataKinds and
| ExistentialQuantification?
|
| I am almost sure this is a known issue, but I noticed some erroneous (?)
| interaction between datatype promotion and existential quantification. Consider
| the following program:
|
| {-# LANGUAGE DataKinds #-}
| {-# LANGUAGE ExistentialQuantification #-}
| {-# LANGUAGE GADTs #-}
| {-# LANGUAGE KindSignatures #-}
|
| module Test where
|
| data K = forall a. T a -- promotion gives 'T :: * -> K
|
| data G :: K -> * where
| D :: G (T []) -- kind error!
|
| I would expect the type checker to reject it, but GHC (version 7.6.1) compiles it
| happily. Is this indeed a (known) bug?
|
| On a related note: is there a way to promote a type that involves an existential
| type variable of a kind other than *?
|
| Thanks,
|
| Stefan
| _______________________________________________
| Haskell-Cafe mailing list
| Haskell-Cafe at haskell.org
| http://www.haskell.org/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list