{-# LANGUAGE DeriveDataTypeable #-} ----------------------------------------------------------------------------- -- | -- Module : Types.Data.Num.Decimal.Digits -- Copyright : (c) 2008 Peter Gavin -- License : BSD-style (see the file LICENSE) -- -- Maintainer : pgavin@gmail.com -- Stability : experimental -- Portability : non-portable (type families, requires ghc >= 6.9) -- -- Type-level numerical operations using type families. -- ---------------------------------------------------------------------------- module Types.Data.Num.Decimal.Digits where import Data.Typeable -- | Representation name for decimal type level numbers. data Decimal decimal :: Decimal decimal = undefined -- | The wrapper type for decimal type level numbers. data Dec x data Neg' x -- | The terminator type for decimal digit lists. data DecN instance Show DecN where show _ = "" data Dec0 deriving (Typeable) instance Show Dec0 where show _ = "0" data Dec1 deriving (Typeable) instance Show Dec1 where show _ = "1" data Dec2 deriving (Typeable) instance Show Dec2 where show _ = "2" data Dec3 deriving (Typeable) instance Show Dec3 where show _ = "3" data Dec4 deriving (Typeable) instance Show Dec4 where show _ = "4" data Dec5 deriving (Typeable) instance Show Dec5 where show _ = "5" data Dec6 deriving (Typeable) instance Show Dec6 where show _ = "6" data Dec7 deriving (Typeable) instance Show Dec7 where show _ = "7" data Dec8 deriving (Typeable) instance Show Dec8 where show _ = "8" data Dec9 deriving (Typeable) instance Show Dec9 where show _ = "9"