on master help sign in
Get rid of (<?) helper, use CInstance directly
25a0d74Evan Czaplicki
src/Type/Constrain/Expression.hs+2−5
@@ -31,9 +31,6 @@ constrain env annotatedExpr@(A.A region expression) tipe =
31 let
31 let
32 list t =
32 list t =
33 Env.getType env "List" <| t
33 Env.getType env "List" <| t
34−
35− (<?) =
36− CInstance region
37 in
34 in
38 case expression of
35 case expression of
39 E.Literal lit ->
36 E.Literal lit ->
@@ -68,7 +65,7 @@ constrain env annotatedExpr@(A.A region expression) tipe =
68 name =
65 name =
69 V.toString var
66 V.toString var
70 in
67 in
71− return (if name == E.saveEnvName then CSaveEnv else name <? tipe)
68+ return (if name == E.saveEnvName then CSaveEnv else CInstance region name tipe)
72
69
73 E.Range lowExpr highExpr ->
70 E.Range lowExpr highExpr ->
74 existsNumber $ \n ->
71 existsNumber $ \n ->
@@ -114,7 +111,7 @@ constrain env annotatedExpr@(A.A region expression) tipe =
114 do vars <- Monad.forM exprs $ \_ -> mkVar Nothing
111 do vars <- Monad.forM exprs $ \_ -> mkVar Nothing
115 let pairs = zip exprs (map VarN vars)
112 let pairs = zip exprs (map VarN vars)
116 (ctipe, cs) <- Monad.foldM step (tipe, CTrue) (reverse pairs)
113 (ctipe, cs) <- Monad.foldM step (tipe, CTrue) (reverse pairs)
117− return $ ex vars (cs /\ name <? ctipe)
114+ return $ ex vars (cs /\ CInstance region name ctipe)
118 where
115 where
119 step (t,c) (e,x) =
116 step (t,c) (e,x) =
120 do c' <- constrain env e x
117 do c' <- constrain env e x