Explicit Type Application is a feature for Haskell that works with generic functions. Normally, when applying a function with generic-typed arguments, Haskell's typechecker attempts to figure out the specific type by itself. In many cases, this works, but there are some cases where this will fail. With Explicit Type Application, however, the programmer has the ability to instantiate the types of the arguments directly, allowing the programmer to control what type it uses, and the ability to resolve these fail-cases by providing their own types.

This is an existing feature-in-development, which had some corner cases that did not work. Over the course of this hackathon, I fixed these corner cases that will help push it towards production. Specifically, these include

  1. Allowing explicit types to work with kinds that include kind-variables.
  2. Enriching the feature to allow the programmer to distinguish types with nested "foralls," as opposed to treating the type the same, regardless of where the "foralls" appear in the type.
Share this project:

Updates