ascii-superset 1.2.6.0 → 1.2.7.0
raw patch · 3 files changed
+80/−1 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ ASCII.Superset.Text: class ToText a
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText (ASCII.CaseRefinement.ASCII'case letterCase Data.ByteString.Internal.ByteString)
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText (ASCII.CaseRefinement.ASCII'case letterCase Data.ByteString.Lazy.Internal.ByteString)
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText (ASCII.CaseRefinement.ASCII'case letterCase Data.Text.Internal.Lazy.Text)
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText (ASCII.CaseRefinement.ASCII'case letterCase Data.Text.Internal.Text)
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText (ASCII.CaseRefinement.ASCII'case letterCase [GHC.Types.Char])
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText (ASCII.Refinement.Internal.ASCII Data.ByteString.Internal.ByteString)
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText (ASCII.Refinement.Internal.ASCII Data.ByteString.Lazy.Internal.ByteString)
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText (ASCII.Refinement.Internal.ASCII Data.Text.Internal.Lazy.Text)
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText (ASCII.Refinement.Internal.ASCII Data.Text.Internal.Text)
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText (ASCII.Refinement.Internal.ASCII [GHC.Types.Char])
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText Data.Text.Internal.Lazy.Text
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText Data.Text.Internal.Text
+ ASCII.Superset.Text: instance ASCII.Superset.Text.ToText [GHC.Types.Char]
+ ASCII.Superset.Text: toLazyText :: ToText a => a -> Text
+ ASCII.Superset.Text: toStrictText :: ToText a => a -> Text
+ ASCII.Superset.Text: toUnicodeCharList :: ToText a => a -> [Char]
Files
- ascii-superset.cabal +2/−1
- changelog.md +4/−0
- library/ASCII/Superset/Text.hs +74/−0
ascii-superset.cabal view
@@ -1,7 +1,7 @@ cabal-version: 3.0 name: ascii-superset-version: 1.2.6.0+version: 1.2.7.0 synopsis: Representing ASCII with refined supersets category: Data, Text @@ -70,6 +70,7 @@ exposed-modules: ASCII.CaseRefinement ASCII.Superset+ ASCII.Superset.Text ASCII.SupersetConversion ASCII.Isomorphism ASCII.Refinement
changelog.md view
@@ -1,3 +1,7 @@+### 1.2.7.0 (2023-02-08)++Add module `ASCII.Superset.Text`+ ### 1.2.6.0 (2023-02-07) New module `ASCII.SupersetConversion` containing a new class,
+ library/ASCII/Superset/Text.hs view
@@ -0,0 +1,74 @@+module ASCII.Superset.Text where++import ASCII.CaseRefinement (ASCII'case)+import ASCII.Refinement (ASCII)+import Data.Function (id, (.))++import qualified ASCII.CaseRefinement as CaseRefinement+import qualified ASCII.Refinement as Refinement+import qualified Data.ByteString as Strict (ByteString)+import qualified Data.ByteString.Lazy as Lazy (ByteString)+import qualified Data.Char as Unicode+import qualified Data.Text as Strict (Text)+import qualified Data.Text as Text.Strict+import qualified Data.Text.Encoding as Text.Strict+import qualified Data.Text.Lazy as Lazy (Text)+import qualified Data.Text.Lazy as Text.Lazy+import qualified Data.Text.Lazy.Encoding as Text.Lazy++class ToText a where+ toStrictText :: a -> Strict.Text+ toStrictText = Text.Lazy.toStrict . toLazyText++ toLazyText :: a -> Lazy.Text+ toLazyText = Text.Lazy.fromStrict . toStrictText++ toUnicodeCharList :: a -> [Unicode.Char]+ toUnicodeCharList = Text.Lazy.unpack . toLazyText++ {-# minimal toStrictText | toLazyText #-}++instance ToText Strict.Text where+ toStrictText = id++instance ToText Lazy.Text where+ toLazyText = id++instance ToText [Unicode.Char] where+ toUnicodeCharList = id+ toStrictText = Text.Strict.pack+ toLazyText = Text.Lazy.pack++instance ToText (ASCII Strict.Text) where+ toStrictText = Refinement.lift++instance ToText (ASCII Lazy.Text) where+ toLazyText = Refinement.lift++instance ToText (ASCII Strict.ByteString) where+ toStrictText = Text.Strict.decodeUtf8 . Refinement.lift++instance ToText (ASCII Lazy.ByteString) where+ toLazyText = Text.Lazy.decodeUtf8 . Refinement.lift++instance ToText (ASCII [Unicode.Char]) where+ toUnicodeCharList = Refinement.lift+ toStrictText = Text.Strict.pack . Refinement.lift+ toLazyText = Text.Lazy.pack . Refinement.lift++instance ToText (ASCII'case letterCase Strict.Text) where+ toStrictText = Refinement.lift . CaseRefinement.forgetCase++instance ToText (ASCII'case letterCase Lazy.Text) where+ toLazyText = Refinement.lift . CaseRefinement.forgetCase++instance ToText (ASCII'case letterCase Strict.ByteString) where+ toStrictText = Text.Strict.decodeUtf8 . Refinement.lift . CaseRefinement.forgetCase++instance ToText (ASCII'case letterCase Lazy.ByteString) where+ toLazyText = Text.Lazy.decodeUtf8 . Refinement.lift . CaseRefinement.forgetCase++instance ToText (ASCII'case letterCase [Unicode.Char]) where+ toUnicodeCharList = Refinement.lift . CaseRefinement.forgetCase+ toStrictText = Text.Strict.pack . Refinement.lift . CaseRefinement.forgetCase+ toLazyText = Text.Lazy.pack . Refinement.lift . CaseRefinement.forgetCase