packages feed

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 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