Skip to content

Fix unification of higher-kinded types when performing type inference #2

Description

@billpmurphy

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 Either int str. This was done tso that typeclasses could be quickly grafted onto the type system; unlike in Haskell, where a partially-applied HKT can be a member of a typeclass (e.g., Either a is a member of Monad), here the HKT object itself is always a member. This is a temporary hack and should be corrected.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions