Skip to content
  • Iavor S. Diatchki's avatar
    Update and clean-up the implmenation of GHC.TypeLits · c3762fa4
    Iavor S. Diatchki authored
    * Replace class `SingI` with two separate classes: `KnownNat` and `KnownSymbol`
    
    * Rename `magicSingId` to `magicDictId`.
    
    * Simplify and clean-up the "magic" implementation.  This version makes
      a lot more sense, at least to me :-)
    
    * Update notes about how it all works:
    
      Note [KnownNat & KnownSymbol and EvLit] explains the evidence for the
      built-in classes
    
      Note [magicDictId magic] explains how we coerce singleton values into
      dictionaries.  This is used to turn run-time integers and strings into
      Proxy singletons of unknwon type (using an existential).
    c3762fa4