type-level-natural-number 1.0 → 1.1
raw patch · 3 files changed
+21/−10 lines, 3 files
Files
- LICENSE +1/−0
- TypeLevel/NaturalNumber.hs +7/−0
- type-level-natural-number.cabal +13/−10
LICENSE view
@@ -1,3 +1,4 @@+Copyright (c) 2008, Scott E. Dillard Copyright (c) 2010, Gregory M. Crosswhite All rights reserved.
TypeLevel/NaturalNumber.hs view
@@ -5,6 +5,8 @@ module TypeLevel.NaturalNumber where +import Data.Typeable+ data Zero data SuccessorTo n @@ -87,3 +89,8 @@ compare _ _ = EQ instance NaturalNumber n => Ord (SuccessorTo n) where compare _ _ = EQ++instance Typeable Zero where+ typeOf n = mkTyConApp (mkTyCon $ "N#0") []+instance NaturalNumber n => Typeable (SuccessorTo n) where+ typeOf n = mkTyConApp (mkTyCon $ "N#" ++ show (naturalNumberAsInt n + 1)) []
type-level-natural-number.cabal view
@@ -1,5 +1,5 @@ Name: type-level-natural-number-Version: 1.0+Version: 1.1 License: BSD3 License-file: LICENSE Author: Gregory Crosswhite@@ -10,7 +10,7 @@ of type-level natural numbers. Operations requiring non-Haskell 2010 language extensions have been split into a separate package.-+ . The difference between this package and the many others on Hackage implementing type-level naturals is its emphasis on simplicity. It only@@ -20,14 +20,17 @@ linked list, so it is not intended to be used for representing large numbers. Pre-defined aliases for natural numbers up to 15 are provided.-- The code for this package was largely inspired by- the type-level natural numbers in the excellent- Vec package.--Cabal-version: >=1.6-Build-type: Simple-Category: Type System,Data+ .+ The code for this package was largely taken from+ the excellent Vec package; I created this package+ with the intent of making this functionality more+ widely available.+ .+ Difference from 1.0: Added instances for Typeable, and+ word synonyms for N0...N15.+Cabal-version: >=1.2.3+Build-type: Simple+Category: Type System,Data Library Build-depends: base >= 3 && < 5