elm/compiler/Types/Unify.hs
Andrew Miller 1b4aca9685 Turn off debug code that printed all constraints during unify.
This debug code is very noisy and makes it hard to test the dev
branch because you can't see warnings buried in all the debug
output.
2013-07-01 08:43:00 +12:00

27 lines
881 B
Haskell

module Types.Unify (unify) where
import Control.Monad (liftM)
import qualified Data.Map as Map
import SourceSyntax.Module
import Unique
import qualified Types.Constrain as Constrain
import qualified Types.Solver as Solver
import qualified Types.Alias as Alias
import qualified Types.Substitutions as Subst
import System.IO.Unsafe
import Control.Arrow (second)
unify hints modul@(Module _ _ _ stmts) = run $ do
result <- Constrain.constrain hints modul
case result of
Left err -> return (Left err)
Right (schemes, constraints) ->
do subs <- {- unsafePerformIO (mapM print constraints) `seq` -}
Solver.solver (Alias.get stmts) Map.empty constraints
let ss = either (const []) Map.toList subs
-- unsafePerformIO (mapM print . map (second (Subst.subst ss)) $ concatMap Map.toList schemes) `seq`
return subs