diff options
author | Jose Pedro Magalhaes <jpm@cs.uu.nl> | 2011-11-11 09:07:50 +0000 |
---|---|---|
committer | Jose Pedro Magalhaes <jpm@cs.uu.nl> | 2011-11-11 09:07:50 +0000 |
commit | 5e1333af4a5f3883cbb4e5b24372d29afa02c6ca (patch) | |
tree | fa4410a622fbaa645a0196753ec2c33d9516f39f /testsuite/tests/gadt | |
parent | ccf86298e3d8daec41c3a780555e17e816b58c1f (diff) | |
download | haskell-5e1333af4a5f3883cbb4e5b24372d29afa02c6ca.tar.gz |
New kind-polymorphic core
This big patch implements a kind-polymorphic core for GHC. The current
implementation focuses on making sure that all kind-monomorphic programs still
work in the new core; it is not yet guaranteed that kind-polymorphic programs
(using the new -XPolyKinds flag) will work.
For more information, see http://haskell.org/haskellwiki/GHC/Kinds
Diffstat (limited to 'testsuite/tests/gadt')
-rw-r--r-- | testsuite/tests/gadt/gadt10.stderr | 2 | ||||
-rw-r--r-- | testsuite/tests/gadt/rw.stderr | 17 |
2 files changed, 10 insertions, 9 deletions
diff --git a/testsuite/tests/gadt/gadt10.stderr b/testsuite/tests/gadt/gadt10.stderr index 100c84bab7..7858f51e8b 100644 --- a/testsuite/tests/gadt/gadt10.stderr +++ b/testsuite/tests/gadt/gadt10.stderr @@ -1,7 +1,7 @@ gadt10.hs:6:24: `RInt' is not applied to enough type arguments - Expected kind `?', but `RInt' has kind `k0 -> *' + Expected kind `??', but `RInt' has kind `k0 -> *' In the type `RInt' In the definition of data constructor `R' In the data type declaration for `RInt' diff --git a/testsuite/tests/gadt/rw.stderr b/testsuite/tests/gadt/rw.stderr index dbac243ab6..612c809fb8 100644 --- a/testsuite/tests/gadt/rw.stderr +++ b/testsuite/tests/gadt/rw.stderr @@ -1,19 +1,20 @@ -rw.hs:14:47: +rw.hs:14:42: Couldn't match type `a' with `Int' `a' is a rigid type variable bound by the type signature for writeInt :: T a -> IORef a -> IO () at rw.hs:13:1 - In the second argument of `writeIORef', namely `(1 :: Int)' + Expected type: IORef Int + Actual type: IORef a + In the first argument of `writeIORef', namely `ref' In the expression: writeIORef ref (1 :: Int) - In a case alternative: ~(Li x) -> writeIORef ref (1 :: Int) -rw.hs:19:51: +rw.hs:19:34: Couldn't match type `a' with `Bool' `a' is a rigid type variable bound by the type signature for readBool :: T a -> IORef a -> IO () at rw.hs:17:1 - Expected type: a -> Bool - Actual type: Bool -> Bool - In the second argument of `(.)', namely `not' - In the second argument of `(>>=)', namely `(print . not)' + Expected type: IORef Bool + Actual type: IORef a + In the first argument of `readIORef', namely `ref' + In the first argument of `(>>=)', namely `readIORef ref' |