Skip to content

Draft: The char kind: type families, functionality, and submodule updates

The patch fixes #11342 (closed). In this patch, we introduced the Char Kind, a kind of type-level characters, with the additional type-families, type-level counterparts of functions from the Data.Char module. We use the same Char type and don’t introduce the different Character kind. This merge request consists of the following features:

  1. parsing the 'x' syntax
  2. type-checking 'x' :: Char
  3. type-checking Refl :: 'x' :~: 'x'
  4. Typeable / TypeRep support
  5. template-haskell support
  6. CmpChar, GeneralCharCategory, and LeqChar type families
  7. ConsSymbol and UnconsSymbol type families
  8. KnownChar class
  9. unicode type-level classifiers
  10. haddock support
  11. tests

This is joint work with @Haskell-mouse, my teammate from Serokell.

Edited by Daniel Rogozin

Merge request reports