HStringTemplate 0.8.6 → 0.8.7
raw patch · 2 files changed
+8/−5 lines, 2 filesdep +semigroupsdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: semigroups
Dependency ranges changed: base
API changes (from Hackage documentation)
+ Text.StringTemplate.Classes: instance Data.Semigroup.Semigroup (Text.StringTemplate.Classes.StFirst a)
- Text.StringTemplate: class (Show a) => StringTemplateShows a where stringTemplateShow = show stringTemplateFormattedShow = flip $ const . stringTemplateShow
+ Text.StringTemplate: class (Show a) => StringTemplateShows a
- Text.StringTemplate: class Monoid a => Stringable a where stFromByteString = stFromText . decodeUtf8 stFromText = stFromString . unpack mconcatMap m k = foldr (mappend . k) mempty m mintercalate = (mconcat .) . intersperse mlabel x y = mconcat [x, stFromString "[", y, stFromString "]"]
+ Text.StringTemplate: class Monoid a => Stringable a
- Text.StringTemplate: class ToSElem a where toSElemList = LI . map toSElem
+ Text.StringTemplate: class ToSElem a
- Text.StringTemplate.Base: SEnv :: SMap a -> [(String, SEnv a -> SElem a)] -> STGroup a -> (a -> a) -> SEnv a
+ Text.StringTemplate.Base: SEnv :: SMap a -> [(String, (SEnv a -> SElem a))] -> STGroup a -> (a -> a) -> SEnv a
- Text.StringTemplate.Base: [sopts] :: SEnv a -> [(String, SEnv a -> SElem a)]
+ Text.StringTemplate.Base: [sopts] :: SEnv a -> [(String, (SEnv a -> SElem a))]
- Text.StringTemplate.Base: class (Show a) => StringTemplateShows a where stringTemplateShow = show stringTemplateFormattedShow = flip $ const . stringTemplateShow
+ Text.StringTemplate.Base: class (Show a) => StringTemplateShows a
- Text.StringTemplate.Base: class Monoid a => Stringable a where stFromByteString = stFromText . decodeUtf8 stFromText = stFromString . unpack mconcatMap m k = foldr (mappend . k) mempty m mintercalate = (mconcat .) . intersperse mlabel x y = mconcat [x, stFromString "[", y, stFromString "]"]
+ Text.StringTemplate.Base: class Monoid a => Stringable a
- Text.StringTemplate.Base: class ToSElem a where toSElemList = LI . map toSElem
+ Text.StringTemplate.Base: class ToSElem a
- Text.StringTemplate.Classes: class (Show a) => StringTemplateShows a where stringTemplateShow = show stringTemplateFormattedShow = flip $ const . stringTemplateShow
+ Text.StringTemplate.Classes: class (Show a) => StringTemplateShows a
- Text.StringTemplate.Classes: class Monoid a => Stringable a where stFromByteString = stFromText . decodeUtf8 stFromText = stFromString . unpack mconcatMap m k = foldr (mappend . k) mempty m mintercalate = (mconcat .) . intersperse mlabel x y = mconcat [x, stFromString "[", y, stFromString "]"]
+ Text.StringTemplate.Classes: class Monoid a => Stringable a
- Text.StringTemplate.Classes: class ToSElem a where toSElemList = LI . map toSElem
+ Text.StringTemplate.Classes: class ToSElem a
Files
HStringTemplate.cabal view
@@ -1,5 +1,5 @@ name: HStringTemplate-version: 0.8.6+version: 0.8.7 synopsis: StringTemplate implementation in Haskell. description: A port of the Java library by Terrence Parr. category: Text@@ -16,7 +16,7 @@ build-depends: syb, base >= 4, base < 5, filepath, parsec < 4, containers, pretty >= 1.1.0.0, time >= 1.4.2 && < 1.9, bytestring, directory, array, text, deepseq, blaze-builder,void, template-haskell >= 2.3, mtl,- old-locale+ old-locale, semigroups >= 0.16 exposed-modules: Text.StringTemplate Text.StringTemplate.Base
Text/StringTemplate/Classes.hs view
@@ -12,6 +12,7 @@ import qualified Data.ByteString.Char8 as B import qualified Data.ByteString.Lazy.Char8 as LB --import qualified Data.ByteString.Lazy.Builder as DBB+import qualified Data.Semigroup as SG import qualified Data.Text as T import qualified Data.Text.Encoding as T import qualified Data.Text.Lazy as LT@@ -21,10 +22,12 @@ newtype StFirst a = StFirst { stGetFirst :: Maybe a } deriving (Eq, Ord, Read, Show)+instance SG.Semigroup (StFirst a) where+ r@(StFirst (Just _)) <> _ = r+ StFirst Nothing <> r = r instance Monoid (StFirst a) where- mempty = StFirst Nothing- r@(StFirst (Just _)) `mappend` _ = r- StFirst Nothing `mappend` r = r+ mempty = StFirst Nothing+ mappend = (SG.<>) instance Functor StFirst where fmap f = StFirst . fmap f . stGetFirst