packages feed

ascii 1.1.0.0 → 1.1.1.0

raw patch · 3 files changed

+117/−1 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ ASCII: isAlphaNum :: CharSuperset char => char -> Bool
+ ASCII: isDigit :: CharSuperset char => char -> Bool
+ ASCII: isHexDigit :: CharSuperset char => char -> Bool
+ ASCII: isLetter :: CharSuperset char => char -> Bool
+ ASCII: isOctDigit :: CharSuperset char => char -> Bool
+ ASCII: isPunctuation :: CharSuperset char => char -> Bool
+ ASCII: isSpace :: CharSuperset char => char -> Bool
+ ASCII: isSymbol :: CharSuperset char => char -> Bool

Files

ascii.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.0  name: ascii-version: 1.1.0.0+version: 1.1.1.0 synopsis: The ASCII character set and encoding category: Data, Text 
changelog.txt view
@@ -31,3 +31,15 @@       - Data.Ascii.Blaze       - Data.Ascii.ByteString       - Data.Ascii.Word8++1.1.1.0 - 2021-09-26++    New functions:+        - isAlphaNum+        - isLetter+        - isDigit+        - isOctDigit+        - isHexDigit+        - isSpace+        - isPunctuation+        - isSymbol
library/ASCII.hs view
@@ -17,6 +17,8 @@     {- * Character classifications -}     {- ** Print/control groups -} {- $groups -} Group (..), charGroup,  inGroup,     {- ** Upper/lower case     -} {- $case   -} Case (..),  letterCase, isCase, toCaseChar, toCaseString,+    {- ** Letters and numbers  -} isAlphaNum, isLetter, isDigit, isOctDigit, isHexDigit,+    {- ** Spaces and symbols   -} isSpace, isPunctuation, isSymbol,      {- * Monomorphic conversions -} {- $monomorphicConversions -}     {- ** @Int@        -} {- $intConversions           -} charToInt,               intToCharMaybe,               intToCharUnsafe,@@ -55,6 +57,7 @@ import Control.Monad       ( (>=>) ) import Control.Monad.Fail  ( MonadFail ) import Data.Bool           ( Bool (..) )+import Data.Foldable       ( any ) import Data.Function       ( (.) ) import Data.Int            ( Int ) import Data.Maybe          ( Maybe, maybe )@@ -64,6 +67,7 @@ import qualified  ASCII.Group import qualified  ASCII.Isomorphism import qualified  ASCII.Lift+import qualified  ASCII.Predicates import qualified  ASCII.Superset  import qualified  Data.ByteString  as  BS@@ -368,3 +372,103 @@  unicodeStringToByteListMaybe :: Unicode.String -> Maybe [Word8] unicodeStringToByteListMaybe = convertStringMaybe++{- | Returns True for ASCII letters:++- 'ASCII.Char.SmallLetterA' to 'ASCII.Char.SmallLetterZ'+- 'ASCII.Char.CapitalLetterA' to 'ASCII.Char.CapitalLetterZ'++-}++isLetter :: CharSuperset char => char -> Bool+isLetter x = any ASCII.Predicates.isLetter (convertCharMaybe x)++{- | Returns True for the characters from 'ASCII.Char.Digit0' to 'ASCII.Char.Digit9'. -}++isDigit :: CharSuperset char => char -> Bool+isDigit x = any ASCII.Predicates.isDigit (convertCharMaybe x)+++{- | Returns True for the characters from 'ASCII.Char.Digit0' to 'ASCII.Char.Digit7'. -}++isOctDigit :: CharSuperset char => char -> Bool+isOctDigit x = any ASCII.Predicates.isOctDigit (convertCharMaybe x)+++{- | Returns True for characters in any of the following ranges:++- 'ASCII.Char.Digit0' to 'ASCII.Char.Digit9'+- 'ASCII.Char.CapitalLetterA' to 'ASCII.Char.CapitalLetterF'+- 'ASCII.Char.SmallLetterA' to 'ASCII.Char.SmallLetterF'++-}++isHexDigit :: CharSuperset char => char -> Bool+isHexDigit x = any ASCII.Predicates.isHexDigit (convertCharMaybe x)++{- | Returns True for the following characters:++- 'ASCII.Char.Space'+- 'ASCII.Char.HorizontalTab'+- 'ASCII.Char.LineFeed'+- 'ASCII.Char.VerticalTab'+- 'ASCII.Char.FormFeed'+- 'ASCII.Char.CarriageReturn'++-}++isSpace :: CharSuperset char => char -> Bool+isSpace x = any ASCII.Predicates.isSpace (convertCharMaybe x)++{- | Returns True if the character is either an ASCII letter ('isLetter') or an ASCII digit ('isDigit'). -}++isAlphaNum :: CharSuperset char => char -> Bool+isAlphaNum x = any ASCII.Predicates.isAlphaNum (convertCharMaybe x)++{- | Returns True for the following characters:++- 'ASCII.Char.ExclamationMark'+- 'ASCII.Char.QuotationMark'+- 'ASCII.Char.NumberSign'+- 'ASCII.Char.PercentSign'+- 'ASCII.Char.Ampersand'+- 'ASCII.Char.Apostrophe'+- 'ASCII.Char.LeftParenthesis'+- 'ASCII.Char.RightParenthesis'+- 'ASCII.Char.Asterisk'+- 'ASCII.Char.Comma'+- 'ASCII.Char.HyphenMinus'+- 'ASCII.Char.FullStop'+- 'ASCII.Char.Slash'+- 'ASCII.Char.Colon'+- 'ASCII.Char.Semicolon'+- 'ASCII.Char.QuestionMark'+- 'ASCII.Char.AtSign'+- 'ASCII.Char.LeftSquareBracket'+- 'ASCII.Char.Backslash'+- 'ASCII.Char.RightSquareBracket'+- 'ASCII.Char.Underscore'+- 'ASCII.Char.LeftCurlyBracket'+- 'ASCII.Char.RightCurlyBracket'++-}++isPunctuation :: CharSuperset char => char -> Bool+isPunctuation x = any ASCII.Predicates.isPunctuation (convertCharMaybe x)++{- | Returns True for the following characters:++- 'ASCII.Char.DollarSign'+- 'ASCII.Char.PlusSign'+- 'ASCII.Char.LessThanSign'+- 'ASCII.Char.EqualsSign'+- 'ASCII.Char.GreaterThanSign'+- 'ASCII.Char.Caret'+- 'ASCII.Char.GraveAccent'+- 'ASCII.Char.VerticalLine'+- 'ASCII.Char.Tilde'++-}++isSymbol :: CharSuperset char => char -> Bool+isSymbol x = any ASCII.Predicates.isSymbol (convertCharMaybe x)