Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : type-nats

http://hackage.haskell.org/trac/ghc/changeset/3a775041ddaa02bfd75917c60427fc87b04eada4

>---------------------------------------------------------------

commit 3a775041ddaa02bfd75917c60427fc87b04eada4
Author: Iavor S. Diatchki <iavor.diatc...@gmail.com>
Date:   Sun Nov 11 12:27:34 2012 -0800

    Add type-level '-' as a known name for GHC.

>---------------------------------------------------------------

 compiler/prelude/PrelNames.lhs  |   14 ++++++++++----
 compiler/prelude/TysWiredIn.lhs |    4 ++++
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/compiler/prelude/PrelNames.lhs b/compiler/prelude/PrelNames.lhs
index 14a5108..ff3cc39 100644
--- a/compiler/prelude/PrelNames.lhs
+++ b/compiler/prelude/PrelNames.lhs
@@ -288,6 +288,7 @@ basicKnownKeyNames
         typeNatAddTyFamName,
         typeNatMulTyFamName,
         typeNatExpTyFamName,
+        typeNatSubTyFamName,
         fromNat1TyFamName,
 
         -- Implicit parameters
@@ -1092,7 +1093,9 @@ isStringClassName   = clsQual dATA_STRING (fsLit 
"IsString") isStringClassKey
 -- Type-level naturals
 typeNatKindConName, typeStringKindConName,
   singIClassName, typeNatLeqTyFamName,
-  typeNatAddTyFamName, typeNatMulTyFamName, typeNatExpTyFamName :: Name
+  typeNatAddTyFamName, typeNatMulTyFamName, typeNatExpTyFamName,
+  typeNatSubTyFamName
+  :: Name
 typeNatKindConName    = tcQual gHC_TYPELITS (fsLit "Nat")  
typeNatKindConNameKey
 typeStringKindConName = tcQual gHC_TYPELITS (fsLit "Symbol")
                                                         
typeStringKindConNameKey
@@ -1101,6 +1104,7 @@ typeNatLeqTyFamName = clsQual gHC_TYPELITS (fsLit "<=?") 
typeNatLeqTyFamNameKey
 typeNatAddTyFamName = tcQual  gHC_TYPELITS (fsLit "+")   typeNatAddTyFamNameKey
 typeNatMulTyFamName = tcQual  gHC_TYPELITS (fsLit "*")   typeNatMulTyFamNameKey
 typeNatExpTyFamName = tcQual  gHC_TYPELITS (fsLit "^")   typeNatExpTyFamNameKey
+typeNatSubTyFamName = tcQual  gHC_TYPELITS (fsLit "-")   typeNatSubTyFamNameKey
 
 fromNat1TyFamName :: Name
 fromNat1TyFamName = tcQual  gHC_TYPELITS (fsLit "FromNat1") 
fromNat1TyFamNameKey
@@ -1417,7 +1421,8 @@ typeNatKindConNameKey, typeStringKindConNameKey,
   typeNatLeqTyFamNameKey,
   typeNatAddTyFamNameKey,
   typeNatMulTyFamNameKey,
-  typeNatExpTyFamNameKey
+  typeNatExpTyFamNameKey,
+  typeNatSubTyFamNameKey
   :: Unique
 typeNatKindConNameKey     = mkPreludeTyConUnique 160
 typeStringKindConNameKey  = mkPreludeTyConUnique 161
@@ -1425,10 +1430,11 @@ typeNatLeqTyFamNameKey    = mkPreludeTyConUnique 162
 typeNatAddTyFamNameKey    = mkPreludeTyConUnique 163
 typeNatMulTyFamNameKey    = mkPreludeTyConUnique 164
 typeNatExpTyFamNameKey    = mkPreludeTyConUnique 165
+typeNatSubTyFamNameKey    = mkPreludeTyConUnique 166
 
 nat1TyConKey, fromNat1TyFamNameKey :: Unique
-nat1TyConKey              = mkPreludeTyConUnique 166
-fromNat1TyFamNameKey      = mkPreludeTyConUnique 167
+nat1TyConKey              = mkPreludeTyConUnique 167
+fromNat1TyFamNameKey      = mkPreludeTyConUnique 168
 
 ---------------- Template Haskell -------------------
 --      USES TyConUniques 200-299
diff --git a/compiler/prelude/TysWiredIn.lhs b/compiler/prelude/TysWiredIn.lhs
index 2bcfb93..d371a86 100644
--- a/compiler/prelude/TysWiredIn.lhs
+++ b/compiler/prelude/TysWiredIn.lhs
@@ -74,6 +74,7 @@ module TysWiredIn (
 
         -- * Type families used to compute at the type level.
         typeNatLeqTyCon, typeNatAddTyCon, typeNatMulTyCon, typeNatExpTyCon,
+        typeNatSubTyCon,
         fromNat1TyCon,
 
         -- * Lifted booleans
@@ -804,6 +805,9 @@ typeNatMulTyCon = mkTypeNatFunTyCon typeNatMulTyFamName
 typeNatExpTyCon :: TyCon
 typeNatExpTyCon = mkTypeNatFunTyCon typeNatExpTyFamName
 
+typeNatSubTyCon :: TyCon
+typeNatSubTyCon = mkTypeNatFunTyCon typeNatSubTyFamName
+
 fromNat1TyCon :: TyCon
 fromNat1TyCon = mkSynTyCon fromNat1TyFamName
                     (mkArrowKinds [ nat1Kind ] typeNatKind )



_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to