on master help sign in
Capture the entire type of the handler for incoming ports
dc3bba7Evan Czaplicki
compiler/Type/Constrain/Expression.hs+1−4
@@ -147,10 +147,7 @@ constrain env (L span expr) tipe =
147 (c1 /\ c))
147 (c1 /\ c))
148
148
149 PortIn _ _ tt handler ->
149 PortIn _ _ tt handler ->
150− exists $ \tIncoming ->
151− exists $ \tHandler -> do
152− cHandler <- constrain env handler tHandler
150+ constrain env handler (VarN tt)
153− return $ and [ cHandler, tHandler === (tIncoming ==> VarN tt) ]
154
151
155 PortOut _ _ signal ->
152 PortOut _ _ signal ->
156 constrain env signal tipe
153 constrain env signal tipe