@@ -1,3 +1,4 @@
1module Type.Environment where
2module Type.Environment where
3import Control.Applicative ((<$>), (<*>))
4import Control.Applicative ((<$>), (<*>))
@@ -9,7 +10,6 @@ import qualified Control.Monad.State as State
9import qualified Data.Traversable as Traverse
10import qualified Data.Traversable as Traverse
10import qualified Data.Map as Map
11import qualified Data.Map as Map
11import Data.List (isPrefixOf)
12import Data.List (isPrefixOf)
12−import qualified Data.UnionFind.IO as UF
13import qualified Text.PrettyPrint as PP
13import qualified Text.PrettyPrint as PP
15import qualified SourceSyntax.Type as Src
15import qualified SourceSyntax.Type as Src
@@ -44,7 +44,7 @@ makeTypes datatypes =
45 nameAndKind (name, tvars, _, _) = (name, length tvars)
45 nameAndKind (name, tvars, _, _) = (name, length tvars)
47− makeCtor (name, kind) = do
47+ makeCtor (name, _) = do
48 ctor <- VarN <$> namedVar Constant name
48 ctor <- VarN <$> namedVar Constant name
49 return (name, ctor)
49 return (name, ctor)
@@ -84,7 +84,7 @@ makeConstructors env datatypes = Map.fromList builtins
86ctorToType :: Environment -> ADT -> [ (String, IO (Int, [Variable], [Type], Type)) ]
86ctorToType :: Environment -> ADT -> [ (String, IO (Int, [Variable], [Type], Type)) ]
87−ctorToType env (name, tvars, ctors, derivations) =
87+ctorToType env (name, tvars, ctors, _) =
88 zip (map fst ctors) (map inst ctors)
88 zip (map fst ctors) (map inst ctors)
90 inst :: (String, [Src.Type]) -> IO (Int, [Variable], [Type], Type)
90 inst :: (String, [Src.Type]) -> IO (Int, [Variable], [Type], Type)
@@ -94,7 +94,7 @@ ctorToType env (name, tvars, ctors, derivations) =
96 go :: (String, [Src.Type]) -> State.StateT (VarDict, TypeDict) IO ([Type], Type)
96 go :: (String, [Src.Type]) -> State.StateT (VarDict, TypeDict) IO ([Type], Type)
97− go (ctor, args) = do
97+ go (_, args) = do
98 types <- mapM (instantiator env) args
98 types <- mapM (instantiator env) args
99 returnType <- instantiator env (Src.Data name (map Src.Var tvars))
99 returnType <- instantiator env (Src.Data name (map Src.Var tvars))
100 return (types, returnType)
100 return (types, returnType)