packages feed

digit 0.1.1 → 0.1.2

raw patch · 4 files changed

+55/−9 lines, 4 filesdep +template-haskellPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: template-haskell

API changes (from Hackage documentation)

- Data.Digit.Digit: instance Bounded Digit
- Data.Digit.Digit: instance D0 Digit
- Data.Digit.Digit: instance D1 Digit
- Data.Digit.Digit: instance D2 Digit
- Data.Digit.Digit: instance D3 Digit
- Data.Digit.Digit: instance D4 Digit
- Data.Digit.Digit: instance D5 Digit
- Data.Digit.Digit: instance D6 Digit
- Data.Digit.Digit: instance D7 Digit
- Data.Digit.Digit: instance D8 Digit
- Data.Digit.Digit: instance D9 Digit
- Data.Digit.Digit: instance Enum Digit
- Data.Digit.Digit: instance Eq Digit
- Data.Digit.Digit: instance Ord Digit
- Data.Digit.Digit: instance Read Digit
- Data.Digit.Digit: instance Show Digit
- Data.Digit.Digit1_8: instance Bounded Digit1_8
- Data.Digit.Digit1_8: instance D1 Digit1_8
- Data.Digit.Digit1_8: instance D2 Digit1_8
- Data.Digit.Digit1_8: instance D3 Digit1_8
- Data.Digit.Digit1_8: instance D4 Digit1_8
- Data.Digit.Digit1_8: instance D5 Digit1_8
- Data.Digit.Digit1_8: instance D6 Digit1_8
- Data.Digit.Digit1_8: instance D7 Digit1_8
- Data.Digit.Digit1_8: instance D8 Digit1_8
- Data.Digit.Digit1_8: instance Eq Digit1_8
- Data.Digit.Digit1_8: instance Ord Digit1_8
- Data.Digit.Digit1_8: instance Read Digit1_8
- Data.Digit.Digit1_8: instance Show Digit1_8
- Data.Digit.Digit1_9: instance Bounded Digit1_9
- Data.Digit.Digit1_9: instance D1 Digit1_9
- Data.Digit.Digit1_9: instance D2 Digit1_9
- Data.Digit.Digit1_9: instance D3 Digit1_9
- Data.Digit.Digit1_9: instance D4 Digit1_9
- Data.Digit.Digit1_9: instance D5 Digit1_9
- Data.Digit.Digit1_9: instance D6 Digit1_9
- Data.Digit.Digit1_9: instance D7 Digit1_9
- Data.Digit.Digit1_9: instance D8 Digit1_9
- Data.Digit.Digit1_9: instance D9 Digit1_9
- Data.Digit.Digit1_9: instance Eq Digit1_9
- Data.Digit.Digit1_9: instance Ord Digit1_9
- Data.Digit.Digit1_9: instance Read Digit1_9
- Data.Digit.Digit1_9: instance Show Digit1_9
+ Data.Digit.Digit: digitQ :: QuasiQuoter
+ Data.Digit.Digit: instance Data.Data.Data Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance Data.Digit.D0.D0 Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance Data.Digit.D1.D1 Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance Data.Digit.D2.D2 Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance Data.Digit.D3.D3 Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance Data.Digit.D4.D4 Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance Data.Digit.D5.D5 Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance Data.Digit.D6.D6 Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance Data.Digit.D7.D7 Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance Data.Digit.D8.D8 Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance Data.Digit.D9.D9 Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance GHC.Classes.Eq Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance GHC.Classes.Ord Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance GHC.Enum.Bounded Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance GHC.Enum.Enum Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance GHC.Read.Read Data.Digit.Digit.Digit
+ Data.Digit.Digit: instance GHC.Show.Show Data.Digit.Digit.Digit
+ Data.Digit.Digit1_8: instance Data.Data.Data Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance Data.Digit.D1.D1 Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance Data.Digit.D2.D2 Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance Data.Digit.D3.D3 Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance Data.Digit.D4.D4 Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance Data.Digit.D5.D5 Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance Data.Digit.D6.D6 Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance Data.Digit.D7.D7 Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance Data.Digit.D8.D8 Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance GHC.Classes.Eq Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance GHC.Classes.Ord Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance GHC.Enum.Bounded Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance GHC.Enum.Enum Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance GHC.Read.Read Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_8: instance GHC.Show.Show Data.Digit.Digit1_8.Digit1_8
+ Data.Digit.Digit1_9: instance Data.Data.Data Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance Data.Digit.D1.D1 Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance Data.Digit.D2.D2 Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance Data.Digit.D3.D3 Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance Data.Digit.D4.D4 Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance Data.Digit.D5.D5 Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance Data.Digit.D6.D6 Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance Data.Digit.D7.D7 Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance Data.Digit.D8.D8 Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance Data.Digit.D9.D9 Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance GHC.Classes.Eq Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance GHC.Classes.Ord Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance GHC.Enum.Bounded Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance GHC.Enum.Enum Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance GHC.Read.Read Data.Digit.Digit1_9.Digit1_9
+ Data.Digit.Digit1_9: instance GHC.Show.Show Data.Digit.Digit1_9.Digit1_9

Files

digit.cabal view
@@ -1,5 +1,5 @@ name:               digit-version:            0.1.1+version:            0.1.2 license:            BSD3 license-File:       etc/LICENCE author:             Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>@@ -31,6 +31,7 @@   build-depends:                     base < 5 && >= 3                     , lens >= 3.9.2+                    , template-haskell    ghc-options:                     -Wall
src/Data/Digit/Digit.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE NoImplicitPrelude, DeriveDataTypeable, TemplateHaskell, QuasiQuotes #-}  -- | A data type with ten nullary constructors [0-9] and combinators. module Data.Digit.Digit@@ -10,9 +10,10 @@ -- * Prisms , digit , digitC+, digitQ ) where -import Prelude(Show(..), Read(..), Eq, Enum(..), Maybe(..), Bounded, Ord, Int, Char, (.))+import Prelude(Show(..), Read(..), Eq, Enum(..), Maybe(..), Bounded, Ord, Int, Char, (.), const, maybe, error) import Data.Digit.D0 import Data.Digit.D1 import Data.Digit.D2@@ -24,6 +25,10 @@ import Data.Digit.D8 import Data.Digit.D9 import Control.Lens+import Data.Data (Data)+import Data.Typeable (Typeable)+import Language.Haskell.TH+import Language.Haskell.TH.Quote  -- $setup -- >>> import Prelude@@ -40,7 +45,7 @@   | D7   | D8   | D9-  deriving (Eq, Ord, Enum, Bounded)+  deriving (Eq, Ord, Enum, Bounded, Data, Typeable)  -- | Catamorphism for @Digit@. --@@ -190,7 +195,16 @@   Prism' Char Digit digitC =   prism'-    (let f = f in f)+    (\d -> case d of D0 -> '0'+                     D1 -> '1'+                     D2 -> '2'+                     D3 -> '3'+                     D4 -> '4'+                     D5 -> '5'+                     D6 -> '6'+                     D7 -> '7'+                     D8 -> '8'+                     D9 -> '9')     (\n -> case n of '0' -> Just D0                      '1' -> Just D1                      '2' -> Just D2@@ -229,3 +243,30 @@     [(D9, t)]   readsPrec _ _       =     []++-- | A QuasiQuoter for any range of @Digit@.+--+-- [digitQ|4|] :: Digit+-- 4+--+-- named [digitQ|4|]  = "four"+-- named [digitQ|$x|] = "not four, " ++ show x ++ " instead"+--+-- mod10D x = let y = mod x 10 in [digitQ|$y|]+digitQ :: QuasiQuoter+digitQ = QuasiQuoter {+    quoteExp = dexp+  , quotePat = dpat+  , quoteType = error "not quotable"+  , quoteDec = error "not quotable"+  }++dexp :: [Char] -> ExpQ+dexp ('$':vn) = varE (mkName vn)+dexp (d:[])   = maybe (error "not a digit") (dataToExpQ (const Nothing)) (d ^? digitC)+dexp _        = error "not a digit"++dpat :: [Char] -> PatQ+dpat ('$':vn) = varP (mkName vn)+dpat (d:[])   = maybe (error "not a digit") (dataToPatQ (const Nothing)) (d ^? digitC)+dpat _        = error "not a digit"
src/Data/Digit/Digit1_8.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE NoImplicitPrelude, DeriveDataTypeable #-}  -- | A data type with eight nullary constructors [1-8] and combinators. module Data.Digit.Digit1_8@@ -26,6 +26,8 @@ import Data.Digit.D7 import Data.Digit.D8 import Control.Lens+import Data.Data (Data)+import Data.Typeable (Typeable)  -- $setup -- >>> import Prelude@@ -42,7 +44,7 @@   | D6   | D7   | D8-  deriving (Eq, Ord, Bounded)+  deriving (Eq, Ord, Enum, Bounded, Data, Typeable)  -- | Catamorphism for @Digit1_8@. --
src/Data/Digit/Digit1_9.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE NoImplicitPrelude, DeriveDataTypeable #-}  -- | A data type with nine nullary constructors [1-9] and combinators. module Data.Digit.Digit1_9@@ -25,6 +25,8 @@ import Data.Digit.D8 import Data.Digit.D9 import Control.Lens+import Data.Data (Data)+import Data.Typeable (Typeable)  -- $setup -- >>> import Prelude@@ -41,7 +43,7 @@   | D7   | D8   | D9-  deriving (Eq, Ord, Bounded)+  deriving (Eq, Ord, Enum, Bounded, Data, Typeable)  -- | Catamorphism for @Digit1_9@. --