on 89efcef help sign in
elk/compiler/Types/Unify.hs
16 lines 427 B history raw
2module Types.Unify (unify) where
4import Control.Monad (liftM)
5import qualified Data.Map as Map
7import Ast
8import Guid
9import qualified Types.Constrain as Constrain
10import qualified Types.Solver as Solver
11import qualified Types.Alias as Alias
13unify hints modul@(Module _ _ _ stmts) = run $ do
14 constraints <- Constrain.constrain hints modul
15 either (return . Left) (Solver.solver (Alias.get stmts) Map.empty) constraints