on master help sign in
Fix slightly broken constraint generator.
commit534dc73ed291a6f984eb8a5e2c47c215e500fb40 authorevancz <info@elm-lang.org> dateSat 25 Aug 2012, 16:03 (14 years ago) parentd515420
1 file changed+7−1
elm/src/Types/Constrain.hs+7−1
elm/src/Types/Constrain.hs+7−1
@@ -84,7 +84,13 @@ gen e@(If e1 e2 e3) =
8484gen (Data name es) = gen $ foldl' App (Var name) es
8585gen (Binop op e1 e2) = gen (Var op `App` e1 `App` e2)
8686gen (Access (Var x) y) = gen . Var $ x ++ "." ++ y
87−gen (Range e1 e2) = gen (Var "elmRange" `App` e1 `App` e2)
87+gen (Range e1 e2) =
88+ do (a1,c1,t1) <- gen e1
89+ (a2,c2,t2) <- gen e2
90+ return ( unionsA [a1,a2]
91+ , Set.unions [ c1, c2, Set.fromList [ ctx e1 (t1 :=: int)
92+ , ctx e2 (t2 :=: int) ] ]
93+ , listOf int )
8894
8995gen other =
9096 case other of