[export stuff from Type, add boxy instantiation
John Meacham <john@repetae.net>**20051209065931] hunk ./FrontEnd/Tc/Monad.hs 18
+    skolomize,
+    boxyInstantiate,
hunk ./FrontEnd/Tc/Monad.hs 294
-skolomize :: Type -> Tc ([Tyvar],Type)
+skolomize :: Sigma' -> Tc ([SkolemTV],Rho')
hunk ./FrontEnd/Tc/Monad.hs 298
-{-
-boxyInstantiate :: Sigma -> Tc Rho
-boxyInstantiate (TForAll as (ps :=> r)) = do
-
+boxyInstantiate :: Sigma -> Tc Rho'
+boxyInstantiate (TForAll as qt) = do
+        bs <- mapM (newBox . tyvarKind) as
+        let mp = Map.fromList $ zip (map tyvarAtom as) (snds bs)
+            (ps :=> r) = inst mp qt
+        addPreds ps
+        return r
+boxyInstantiate x = return x
hunk ./FrontEnd/Tc/Monad.hs 308
---    sub (TForAll as (_ :=> r1))  r2 | isRho' r2 = do
-        bs <- mapM (const $ newBox Star) as
-        inst (Map.fromList $ zip (map tyvarAtom as) (snds bs)) r1 `subsumes` r2
-  -}
hunk ./FrontEnd/Tc/Type.hs 1
-module FrontEnd.Tc.Type(module FrontEnd.Tc.Type, Type(..),Kind(..),findType,fn,Qual(..),Tyvar(..),Tycon(..)) where
+module FrontEnd.Tc.Type(
+    module FrontEnd.Tc.Type,
+    Type(..),
+    Kind(..),
+    findType,
+    fn,
+    Qual(..),
+    Tyvar(..),
+    Tycon(..),
+    kind
+    ) where
hunk ./FrontEnd/Tc/Type.hs 18
+import Type(kind)