Brent Yorgey
Brent Yorgey
Hmm, the commit above added a special case for `inferTop` on variables; we might want to add the same special case for prims, so if you type e.g. `:type ~+~`...
Ah, right, thanks for refreshing my memory on some of these things (and writing them up so future-me's memory can also be refreshed). As classes are starting next week (entirely...
I recently had a stroke of inspiration regarding the need for something like `ScopedTypeVariables`: the more principled way to do this, perhaps, is to allow explicit type lambdas. I was...
I want to see how this all works with the latest changes that have been made to the type system etc. I've been working on merging the latest master branch...
Really this isn't about constructors in particular but pattern synonyms in general. But I think we want to only allow simple bidirectional pattern synonyms, and "constructor" is still a good...
I was thinking that it would be nice to implement this so we can e.g. implement `Bool` in a library, instead of having it built in. e.g. ``` type Bool...
I have thought more about the above comment and am now convinced that it is possible in a principled way: * Constructor patterns can be translated away during desugaring. *...
Note that implementing `Bool` in a library also requires #136 .
Note that case expressions `{? ... ?}` are built-in notation that rely on `Bool`. However, if `Bool` was not built-in, I think we could do something similar to what e.g....
I know there are examples where a reported type ends up with type variables like `a13` in it, but I'm having trouble coming up with one at the moment. A...