Reimplement Unify.typesCantMatch in terms of apartness.
authorRichard Eisenberg <eir@cis.upenn.edu>
Tue, 16 Jun 2015 12:57:52 +0000 (08:57 -0400)
committerRichard Eisenberg <eir@cis.upenn.edu>
Tue, 16 Jun 2015 18:22:53 +0000 (14:22 -0400)
commit9b105c6d3597ab9b0157ed831d5445d2b619130f
tree5965e8b1e41c0d3a10f71b8fef8805b7077254ff
parent7eceffb3dd1e9c99218630b94ba97da483cec32d
Reimplement Unify.typesCantMatch in terms of apartness.

Because typesCantMatch must also work with type functions, this
requires teaching the unifier about type functions and injectivity.
Also, some refactoring to use the UM monad more.
compiler/types/Unify.hs