on master help sign in
Use one fewer variable for PortIn constraints
39eb4c6Evan Czaplicki
compiler/Type/Constrain/Expression.hs+2−3
@@ -147,11 +147,10 @@ constrain env (L span expr) tipe =
147 (c1 /\ c))
147 (c1 /\ c))
148
148
149 PortIn _ _ tt handler ->
149 PortIn _ _ tt handler ->
150− exists $ \t1 ->
150+ exists $ \tIncoming ->
151− exists $ \t2 ->
152 exists $ \tHandler -> do
151 exists $ \tHandler -> do
153 cHandler <- constrain env handler tHandler
152 cHandler <- constrain env handler tHandler
154− return $ and [ cHandler, tHandler === (t1 ==> t2), tt === t2 ]
153+ return $ and [ cHandler, tHandler === (tIncoming ==> tt) ]
155
154
156 PortOut _ _ signal ->
155 PortOut _ _ signal ->
157 constrain env signal tipe
156 constrain env signal tipe