2012-05-11 10:28:56 +00:00
|
|
|
|
2012-08-09 14:38:18 +00:00
|
|
|
module Types.Unify (unify) where
|
2012-05-11 10:28:56 +00:00
|
|
|
|
2012-05-18 03:16:16 +00:00
|
|
|
import Control.Monad (liftM)
|
2012-08-09 14:38:18 +00:00
|
|
|
import qualified Data.Map as Map
|
2012-11-29 06:16:08 +00:00
|
|
|
|
2012-05-20 05:09:12 +00:00
|
|
|
import Guid
|
2012-08-09 14:38:18 +00:00
|
|
|
import Types.Constrain
|
2012-11-29 06:16:08 +00:00
|
|
|
import Types.Solver
|
2012-05-20 05:09:12 +00:00
|
|
|
|
2012-08-01 23:37:37 +00:00
|
|
|
unify hints modul = run $ do
|
2012-10-21 11:50:40 +00:00
|
|
|
constraints <- constrain hints modul
|
2013-02-27 07:33:47 +00:00
|
|
|
either (return . Left) (\cs -> solver cs Map.empty) constraints
|
2012-05-11 10:28:56 +00:00
|
|
|
|