@@ -50,11 +50,13 @@ genConstraints interfaces modul =
50 do let env = Env.initialize (canonicalizeUnions interfaces modul)
50 do let env = Env.initialize (canonicalizeUnions interfaces modul)
53+ {-# SCC elm_compiler_mk_ctor_types #-}
53 forM (Env.ctorNames env) $ \name ->
54 forM (Env.ctorNames env) $ \name ->
54 do (_, vars, args, result) <- Env.freshDataScheme env name
55 do (_, vars, args, result) <- Env.freshDataScheme env name
55− return (name, (vars, foldr (T.==>) result args))
56+ return (name, (vars, foldr T.FunN result args))
57 importedVars <-
58 importedVars <-
59+ {-# SCC elm_compiler_mk_value_types #-}
58 mapM (canonicalizeValues env) (Map.toList interfaces)
60 mapM (canonicalizeValues env) (Map.toList interfaces)
60 let allTypes = concat (ctors : importedVars)
62 let allTypes = concat (ctors : importedVars)
@@ -65,6 +67,7 @@ genConstraints interfaces modul =
65 fvar <- T.mkFlexVar
67 fvar <- T.mkFlexVar
67 constraint <-
69 constraint <-
70+ {-# SCC elm_compiler_constrain #-}
68 TcExpr.constrain env (Module.program (Module.info modul)) (T.VarN fvar)
71 TcExpr.constrain env (Module.program (Module.info modul)) (T.VarN fvar)
70 return (header, environ constraint)
73 return (header, environ constraint)