@@ -84,7 +84,13 @@ gen e@(If e1 e2 e3) =
84gen (Data name es) = gen $ foldl' App (Var name) es
84gen (Data name es) = gen $ foldl' App (Var name) es
85gen (Binop op e1 e2) = gen (Var op `App` e1 `App` e2)
85gen (Binop op e1 e2) = gen (Var op `App` e1 `App` e2)
86gen (Access (Var x) y) = gen . Var $ x ++ "." ++ y
86gen (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
90+ return ( unionsA [a1,a2]
91+ , Set.unions [ c1, c2, Set.fromList [ ctx e1 (t1 :=: int)
92+ , ctx e2 (t2 :=: int) ] ]
89gen other =
95gen other =
90 case other of
96 case other of