Add a kind annotation on Graph'
authorSimon Peyton Jones <simonpj@microsoft.com>
Mon, 22 Aug 2011 07:47:05 +0000 (08:47 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Mon, 22 Aug 2011 07:47:05 +0000 (08:47 +0100)
commitb98db91cd0c53ddb2c275c04823f9c379774104b
tree92439126f3cc0438c6cd6cda17f30414687193b6
parent6ffca823d05780f8b1c0de598da814bf248d1c06
Add a kind annotation on Graph'

  data Graph' block (n :: * -> * -> *) e x where
    GNil  :: Graph' block n O O
    GUnit :: block n O O -> Graph' block n O O
    GMany :: MaybeO e (block n O C)

We want the kind annotation so we can get the the right kind for
Graph' without looking at its *uses*, as Haskell dictates (Report
section 4.6), and (now that we are extending the kind system) GHC is
going to do.

Previously GHC was a bit more forgiving, in a non-standard way.
src/Compiler/Hoopl/Graph.hs