predicate-typed-0.7.4.2: Predicates, Refinement types and Dsl
Safe HaskellNone
LanguageHaskell2010

Predicate.Data.Char

Description

promoted character functions

Synopsis

constructor

data C (s :: Symbol) Source #

extracts the first character from a non empty Symbol

>>> pz @(C "aBc") ()
Val 'a'

Instances

Instances details
Show (C s) Source # 
Instance details

Defined in Predicate.Data.Char

Methods

showsPrec :: Int -> C s -> ShowS #

show :: C s -> String #

showList :: [C s] -> ShowS #

(KnownSymbol s, FailUnlessT (CmpSymbol s "" == 'GT) ('Text "C symbol cannot be empty")) => P (C s :: Type) a Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP (C s) a Source #

Methods

eval :: MonadEval m => proxy (C s) -> POpts -> a -> m (TT (PP (C s) a)) Source #

type PP (C s :: Type) a Source # 
Instance details

Defined in Predicate.Data.Char

type PP (C s :: Type) a = Char

character predicates

data IsLower Source #

predicate similar to isLower

>>> pz @IsLower 'X'
Val False
>>> pz @IsLower '1'
Val False
>>> pz @IsLower 'a'
Val True

Instances

Instances details
Show IsLower Source # 
Instance details

Defined in Predicate.Data.Char

P IsLowerT x => P IsLower x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsLower x Source #

Methods

eval :: MonadEval m => proxy IsLower -> POpts -> x -> m (TT (PP IsLower x)) Source #

type PP IsLower x Source # 
Instance details

Defined in Predicate.Data.Char

type PP IsLower x

data IsUpper Source #

predicate similar to isUpper

Instances

Instances details
Show IsUpper Source # 
Instance details

Defined in Predicate.Data.Char

P IsUpperT x => P IsUpper x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsUpper x Source #

Methods

eval :: MonadEval m => proxy IsUpper -> POpts -> x -> m (TT (PP IsUpper x)) Source #

type PP IsUpper x Source # 
Instance details

Defined in Predicate.Data.Char

type PP IsUpper x

data IsDigit Source #

predicate similar to isDigit

>>> pz @IsDigit 'g'
Val False
>>> pz @IsDigit '9'
Val True

Instances

Instances details
Show IsDigit Source # 
Instance details

Defined in Predicate.Data.Char

P IsDigitT x => P IsDigit x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsDigit x Source #

Methods

eval :: MonadEval m => proxy IsDigit -> POpts -> x -> m (TT (PP IsDigit x)) Source #

type PP IsDigit x Source # 
Instance details

Defined in Predicate.Data.Char

type PP IsDigit x = Bool

data IsSpace Source #

predicate similar to isSpace

>>> pz @IsSpace '\t'
Val True
>>> pz @IsSpace ' '
Val True
>>> pz @IsSpace 'x'
Val False

Instances

Instances details
Show IsSpace Source # 
Instance details

Defined in Predicate.Data.Char

P IsSpaceT x => P IsSpace x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsSpace x Source #

Methods

eval :: MonadEval m => proxy IsSpace -> POpts -> x -> m (TT (PP IsSpace x)) Source #

type PP IsSpace x Source # 
Instance details

Defined in Predicate.Data.Char

type PP IsSpace x = Bool

data IsPunctuation Source #

predicate similar to isPunctuation

Instances

Instances details
Show IsPunctuation Source # 
Instance details

Defined in Predicate.Data.Char

P IsPunctuationT x => P IsPunctuation x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsPunctuation x Source #

Methods

eval :: MonadEval m => proxy IsPunctuation -> POpts -> x -> m (TT (PP IsPunctuation x)) Source #

type PP IsPunctuation x Source # 
Instance details

Defined in Predicate.Data.Char

data IsControl Source #

predicate similar to isControl

Instances

Instances details
Show IsControl Source # 
Instance details

Defined in Predicate.Data.Char

P IsControlT x => P IsControl x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsControl x Source #

Methods

eval :: MonadEval m => proxy IsControl -> POpts -> x -> m (TT (PP IsControl x)) Source #

type PP IsControl x Source # 
Instance details

Defined in Predicate.Data.Char

type PP IsControl x = Bool

data IsHexDigit Source #

predicate similar to isHexDigit

>>> pz @IsHexDigit 'A'
Val True
>>> pz @IsHexDigit 'g'
Val False

Instances

Instances details
Show IsHexDigit Source # 
Instance details

Defined in Predicate.Data.Char

P IsHexDigitT x => P IsHexDigit x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsHexDigit x Source #

Methods

eval :: MonadEval m => proxy IsHexDigit -> POpts -> x -> m (TT (PP IsHexDigit x)) Source #

type PP IsHexDigit x Source # 
Instance details

Defined in Predicate.Data.Char

type PP IsHexDigit x = Bool

data IsOctDigit Source #

predicate similar to isOctDigit

Instances

Instances details
Show IsOctDigit Source # 
Instance details

Defined in Predicate.Data.Char

P IsOctDigitT x => P IsOctDigit x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsOctDigit x Source #

Methods

eval :: MonadEval m => proxy IsOctDigit -> POpts -> x -> m (TT (PP IsOctDigit x)) Source #

type PP IsOctDigit x Source # 
Instance details

Defined in Predicate.Data.Char

type PP IsOctDigit x = Bool

data IsSeparator Source #

predicate similar to isSeparator

Instances

Instances details
Show IsSeparator Source # 
Instance details

Defined in Predicate.Data.Char

P IsSeparatorT x => P IsSeparator x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsSeparator x Source #

Methods

eval :: MonadEval m => proxy IsSeparator -> POpts -> x -> m (TT (PP IsSeparator x)) Source #

type PP IsSeparator x Source # 
Instance details

Defined in Predicate.Data.Char

data IsLatin1 Source #

predicate similar to isLatin1

Instances

Instances details
Show IsLatin1 Source # 
Instance details

Defined in Predicate.Data.Char

P IsLatin1T x => P IsLatin1 x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsLatin1 x Source #

Methods

eval :: MonadEval m => proxy IsLatin1 -> POpts -> x -> m (TT (PP IsLatin1 x)) Source #

type PP IsLatin1 x Source # 
Instance details

Defined in Predicate.Data.Char

type PP IsLatin1 x = Bool

string predicates

data IsLowerAll Source #

predicate for determining if a string is all lowercase

>>> pz @IsLowerAll "abc"
Val True
>>> pz @IsLowerAll "abcX"
Val False
>>> pz @IsLowerAll (T.pack "abcX")
Val False
>>> pz @IsLowerAll "abcdef213"
Val False
>>> pz @IsLowerAll ""
Val True

Instances

Instances details
Show IsLowerAll Source # 
Instance details

Defined in Predicate.Data.Char

P IsLowerAllT x => P IsLowerAll x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsLowerAll x Source #

Methods

eval :: MonadEval m => proxy IsLowerAll -> POpts -> x -> m (TT (PP IsLowerAll x)) Source #

type PP IsLowerAll x Source # 
Instance details

Defined in Predicate.Data.Char

type PP IsLowerAll x

data IsUpperAll Source #

predicate for determining if a string is all uppercase

Instances

Instances details
Show IsUpperAll Source # 
Instance details

Defined in Predicate.Data.Char

P IsUpperAllT x => P IsUpperAll x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsUpperAll x Source #

Methods

eval :: MonadEval m => proxy IsUpperAll -> POpts -> x -> m (TT (PP IsUpperAll x)) Source #

type PP IsUpperAll x Source # 
Instance details

Defined in Predicate.Data.Char

type PP IsUpperAll x

data IsDigitAll Source #

predicate for determining if the string is all digits

>>> pz @IsDigitAll "213G"
Val False
>>> pz @IsDigitAll "929"
Val True

Instances

Instances details
Show IsDigitAll Source # 
Instance details

Defined in Predicate.Data.Char

P IsDigitAllT x => P IsDigitAll x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsDigitAll x Source #

Methods

eval :: MonadEval m => proxy IsDigitAll -> POpts -> x -> m (TT (PP IsDigitAll x)) Source #

type PP IsDigitAll x Source # 
Instance details

Defined in Predicate.Data.Char

type PP IsDigitAll x = Bool

data IsSpaceAll Source #

predicate for determining if the string is all spaces

>>> pz @IsSpaceAll "213G"
Val False
>>> pz @IsSpaceAll "    "
Val True
>>> pz @IsSpaceAll ""
Val True

Instances

Instances details
Show IsSpaceAll Source # 
Instance details

Defined in Predicate.Data.Char

P IsSpaceAllT x => P IsSpaceAll x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsSpaceAll x Source #

Methods

eval :: MonadEval m => proxy IsSpaceAll -> POpts -> x -> m (TT (PP IsSpaceAll x)) Source #

type PP IsSpaceAll x Source # 
Instance details

Defined in Predicate.Data.Char

type PP IsSpaceAll x = Bool

data IsPunctuationAll Source #

predicate for determining if a string has all punctuation

Instances

Instances details
Show IsPunctuationAll Source # 
Instance details

Defined in Predicate.Data.Char

P IsPunctuationAllT x => P IsPunctuationAll x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsPunctuationAll x Source #

Methods

eval :: MonadEval m => proxy IsPunctuationAll -> POpts -> x -> m (TT (PP IsPunctuationAll x)) Source #

type PP IsPunctuationAll x Source # 
Instance details

Defined in Predicate.Data.Char

data IsControlAll Source #

predicate for determining if a string has all control chars

Instances

Instances details
Show IsControlAll Source # 
Instance details

Defined in Predicate.Data.Char

P IsControlAllT x => P IsControlAll x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsControlAll x Source #

Methods

eval :: MonadEval m => proxy IsControlAll -> POpts -> x -> m (TT (PP IsControlAll x)) Source #

type PP IsControlAll x Source # 
Instance details

Defined in Predicate.Data.Char

data IsHexDigitAll Source #

predicate for determining if the string is all hex digits

>>> pz @IsHexDigitAll "01efA"
Val True
>>> pz @IsHexDigitAll "01egfA"
Val False

Instances

Instances details
Show IsHexDigitAll Source # 
Instance details

Defined in Predicate.Data.Char

P IsHexDigitAllT x => P IsHexDigitAll x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsHexDigitAll x Source #

Methods

eval :: MonadEval m => proxy IsHexDigitAll -> POpts -> x -> m (TT (PP IsHexDigitAll x)) Source #

type PP IsHexDigitAll x Source # 
Instance details

Defined in Predicate.Data.Char

data IsOctDigitAll Source #

predicate for determining if the string is all octal digits

Instances

Instances details
Show IsOctDigitAll Source # 
Instance details

Defined in Predicate.Data.Char

P IsOctDigitAllT x => P IsOctDigitAll x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsOctDigitAll x Source #

Methods

eval :: MonadEval m => proxy IsOctDigitAll -> POpts -> x -> m (TT (PP IsOctDigitAll x)) Source #

type PP IsOctDigitAll x Source # 
Instance details

Defined in Predicate.Data.Char

data IsSeparatorAll Source #

predicate for determining if the string has all separators

Instances

Instances details
Show IsSeparatorAll Source # 
Instance details

Defined in Predicate.Data.Char

P IsSeparatorAllT x => P IsSeparatorAll x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsSeparatorAll x Source #

Methods

eval :: MonadEval m => proxy IsSeparatorAll -> POpts -> x -> m (TT (PP IsSeparatorAll x)) Source #

type PP IsSeparatorAll x Source # 
Instance details

Defined in Predicate.Data.Char

data IsLatin1All Source #

predicate for determining if the string is all latin chars

Instances

Instances details
Show IsLatin1All Source # 
Instance details

Defined in Predicate.Data.Char

P IsLatin1AllT x => P IsLatin1All x Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP IsLatin1All x Source #

Methods

eval :: MonadEval m => proxy IsLatin1All -> POpts -> x -> m (TT (PP IsLatin1All x)) Source #

type PP IsLatin1All x Source # 
Instance details

Defined in Predicate.Data.Char

change case

data ToTitle Source #

converts a string IsText value to title case

>>> pz @ToTitle "HeLlO wOrld!"
Val "Hello world!"
>>> data Color = Red | White | Blue | Green | Black deriving (Show,Eq,Enum,Bounded,Read)
>>> pz @(ToTitle >> ReadP Color Id) "red"
Val Red

Instances

Instances details
Show ToTitle Source # 
Instance details

Defined in Predicate.Data.Char

(Show a, IsText a) => P ToTitle a Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP ToTitle a Source #

Methods

eval :: MonadEval m => proxy ToTitle -> POpts -> a -> m (TT (PP ToTitle a)) Source #

type PP ToTitle a Source # 
Instance details

Defined in Predicate.Data.Char

type PP ToTitle a = a

data ToUpper Source #

converts a string IsText value to upper case

>>> pz @ToUpper "HeLlO wOrld!"
Val "HELLO WORLD!"

Instances

Instances details
Show ToUpper Source # 
Instance details

Defined in Predicate.Data.Char

(Show a, IsText a) => P ToUpper a Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP ToUpper a Source #

Methods

eval :: MonadEval m => proxy ToUpper -> POpts -> a -> m (TT (PP ToUpper a)) Source #

type PP ToUpper a Source # 
Instance details

Defined in Predicate.Data.Char

type PP ToUpper a = a

data ToLower Source #

converts a string IsText value to lower case

>>> pz @ToLower "HeLlO wOrld!"
Val "hello world!"

Instances

Instances details
Show ToLower Source # 
Instance details

Defined in Predicate.Data.Char

(Show a, IsText a) => P ToLower a Source # 
Instance details

Defined in Predicate.Data.Char

Associated Types

type PP ToLower a Source #

Methods

eval :: MonadEval m => proxy ToLower -> POpts -> a -> m (TT (PP ToLower a)) Source #

type PP ToLower a Source # 
Instance details

Defined in Predicate.Data.Char

type PP ToLower a = a