Repository : ssh://g...@git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/c3762fa4d0156ba0446cee92a035b6454a62a1ae/ghc
>--------------------------------------------------------------- commit c3762fa4d0156ba0446cee92a035b6454a62a1ae Author: Iavor S. Diatchki <diatc...@galois.com> Date: Wed Oct 9 19:22:35 2013 -0700 Update and clean-up the implmenation of GHC.TypeLits * 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). >--------------------------------------------------------------- c3762fa4d0156ba0446cee92a035b6454a62a1ae compiler/basicTypes/MkId.lhs | 63 ++++++++++++++++++++----------------- compiler/basicTypes/MkId.lhs-boot | 2 +- compiler/prelude/PrelNames.lhs | 22 ++++++++----- compiler/prelude/PrelRules.lhs | 30 +++++++++--------- compiler/typecheck/TcEvidence.lhs | 63 +++++++++++++++++++++++-------------- compiler/typecheck/TcInteract.lhs | 60 +++++++++++++++-------------------- 6 files changed, 131 insertions(+), 109 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc c3762fa4d0156ba0446cee92a035b6454a62a1ae _______________________________________________ ghc-commits mailing list ghc-commits@haskell.org http://www.haskell.org/mailman/listinfo/ghc-commits