elm/compiler/Types/Unify.hs

17 lines
427 B
Haskell
Raw Normal View History

module Types.Unify (unify) where
import Control.Monad (liftM)
import qualified Data.Map as Map
2013-04-05 16:55:30 +00:00
import Ast
import Guid
2013-05-28 13:47:36 +00:00
import qualified Types.Constrain as Constrain
import qualified Types.Solver as Solver
import qualified Types.Alias as Alias
2013-04-05 16:55:30 +00:00
unify hints modul@(Module _ _ _ stmts) = run $ do
2013-05-28 13:47:36 +00:00
constraints <- Constrain.constrain hints modul
either (return . Left) (Solver.solver (Alias.get stmts) Map.empty) constraints