billpmurphy
billpmurphy
When a `TypeVariable` with typeclass constraints are unified with a `TypeOperator`, the type system (i.e., `unify` in hindley_milner.py) does not check to see if the `TypeOperator` is actually a member...
It seems like it would be relatively easy to enable gradual typing in Hask. In Hask's internal type system, the type of Python functions and methods (regardless of arity) is...
Somethis is not quite right with the way the list type is being unified, as seen here when using `foldr` with cons: ``` python >>> from hask import * >>>...
Instead of having to type `t(Maybe, int)` or `t(Either, "a", str)`, it would be much cleaner to type `Maybe(int)` or `Either("a", str)`. This should be relatively easy to implement, though...
Hask prints type signatures with a lot of superfluous parens (e.g. `a -> (b -> c)` when `a -> b -> c` will do). It also puts extra parens around...
The Hask port of the Prelude and Data.List are on [version 4.7.0.2](https://hackage.haskell.org/package/base-4.7.0.2) of `base`. These should be upgraded to the newest version (at time of writing). [4.8.1.0](https://hackage.haskell.org/package/base-4.8.1.0). The primary difference...
Related to #1, the type system does not unify higher-kinded types correctly, as it ignores kind when unifying, so a `TypeVariable` like `m a` currently unifies with a type like...