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

Predicate.Data.Ordering

Description

promoted Ordering functions

Synopsis

comparison

data p > q infix 4 Source #

compare if expression p is greater than q

>>> pl @(Id > "xx") "abc"
False ("abc" > "xx")
Val False
>>> pl @(Id > "aa") "abc"
True ("abc" > "aa")
Val True
>>> pl @(Fst > Snd) (True,False)
True (True > False)
Val True

Instances

Instances details
P (Cmp 'CGt p q) x => P (p > q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p > q) x Source #

Methods

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

Show (p > q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p > q) -> ShowS #

show :: (p > q) -> String #

showList :: [p > q] -> ShowS #

type PP (p > q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p > q :: Type) x = Bool

data p >= q infix 4 Source #

compare if expression p is greater than or equal to q

Instances

Instances details
P (Cmp 'CGe p q) x => P (p >= q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p >= q) x Source #

Methods

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

Show (p >= q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p >= q) -> ShowS #

show :: (p >= q) -> String #

showList :: [p >= q] -> ShowS #

type PP (p >= q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p >= q :: Type) x = Bool

data p == q infix 4 Source #

compare if expression p is equal to q

>>> pl @(Fst == Snd) ("ab","xyzabw")
False ("ab" == "xyzabw")
Val False
>>> pl @(Fst == Snd) ("aBc","AbC")
False ("aBc" == "AbC")
Val False
>>> pz @(Fst == Snd) ("aBc","aBc")
Val True
>>> pl @(Id == "Abc") "abc"
False ("abc" == "Abc")
Val False
>>> pl @(Fst == Snd) (True,False)
False (True == False)
Val False
>>> pl @(Not Id *** Id >> Fst == Snd) (True,False)
True ((>>) True | {False == False})
Val True

Instances

Instances details
P (Cmp 'CEq p q) x => P (p == q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p == q) x Source #

Methods

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

Show (p == q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p == q) -> ShowS #

show :: (p == q) -> String #

showList :: [p == q] -> ShowS #

type PP (p == q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p == q :: Type) x = Bool

data p /= q infix 4 Source #

compare if expression p is not equal to q

>>> pl @(Fst /= Snd) ("ab","xyzabw")
True ("ab" /= "xyzabw")
Val True

Instances

Instances details
P (Cmp 'CNe p q) x => P (p /= q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p /= q) x Source #

Methods

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

Show (p /= q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p /= q) -> ShowS #

show :: (p /= q) -> String #

showList :: [p /= q] -> ShowS #

type PP (p /= q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p /= q :: Type) x = Bool

data p <= q infix 4 Source #

compare if expression p is less than or equal to q

>>> pl @(Not (Fst >> Len <= 6)) ([2..7],True)
False (Not ((>>) True | {6 <= 6}))
Val False
>>> pl @(Fst >> Len <= 6) ([2..7],True)
True ((>>) True | {6 <= 6})
Val True
>>> pl @(Length Fst <= 6) ([2..7],True)
True (6 <= 6)
Val True
>>> pl @(Fst >> (Len <= 6)) ([2..7],True)
True ((>>) True | {6 <= 6})
Val True

Instances

Instances details
P (Cmp 'CLe p q) x => P (p <= q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p <= q) x Source #

Methods

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

Show (p <= q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p <= q) -> ShowS #

show :: (p <= q) -> String #

showList :: [p <= q] -> ShowS #

type PP (p <= q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p <= q :: Type) x = Bool

data p < q infix 4 Source #

compare if expression p is less than q

Instances

Instances details
P (Cmp 'CLt p q) x => P (p < q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p < q) x Source #

Methods

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

Show (p < q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p < q) -> ShowS #

show :: (p < q) -> String #

showList :: [p < q] -> ShowS #

type PP (p < q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p < q :: Type) x = Bool

data Gt n Source #

compare if expression p is greater than q

>>> pl @(Gt 4) 5
True (5 > 4)
Val True

Instances

Instances details
P (GtT n) x => P (Gt n :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (Gt n) x Source #

Methods

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

Show (Gt n) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> Gt n -> ShowS #

show :: Gt n -> String #

showList :: [Gt n] -> ShowS #

type PP (Gt n :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (Gt n :: Type) x

data Ge n Source #

compare if expression p is greater than or equal to q

Instances

Instances details
P (GeT n) x => P (Ge n :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (Ge n) x Source #

Methods

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

Show (Ge n) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> Ge n -> ShowS #

show :: Ge n -> String #

showList :: [Ge n] -> ShowS #

type PP (Ge n :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (Ge n :: Type) x

data Same n Source #

compare if expression p is equal to q

Instances

Instances details
P (SameT n) x => P (Same n :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (Same n) x Source #

Methods

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

Show (Same n) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> Same n -> ShowS #

show :: Same n -> String #

showList :: [Same n] -> ShowS #

type PP (Same n :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (Same n :: Type) x

data Le n Source #

compare if expression p is less than or equal to q

Instances

Instances details
P (LeT n) x => P (Le n :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (Le n) x Source #

Methods

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

Show (Le n) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> Le n -> ShowS #

show :: Le n -> String #

showList :: [Le n] -> ShowS #

type PP (Le n :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (Le n :: Type) x

data Lt n Source #

compare if expression p is less than to q

>>> pl @(Lt 4) 123
False (123 < 4)
Val False
>>> pl @(Lt 4) 1
True (1 < 4)
Val True

Instances

Instances details
P (LtT n) x => P (Lt n :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (Lt n) x Source #

Methods

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

Show (Lt n) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> Lt n -> ShowS #

show :: Lt n -> String #

showList :: [Lt n] -> ShowS #

type PP (Lt n :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (Lt n :: Type) x

data Ne n Source #

compare if expression p is not equal to q

Instances

Instances details
P (NeT n) x => P (Ne n :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (Ne n) x Source #

Methods

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

Show (Ne n) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> Ne n -> ShowS #

show :: Ne n -> String #

showList :: [Ne n] -> ShowS #

type PP (Ne n :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (Ne n :: Type) x

data p ==! q infix 4 Source #

similar to compare

>>> pz @(Fst ==! Snd) (10,9)
Val GT
>>> pz @(14 % 3 ==! Fst -% Snd) (-10,7)
Val GT
>>> pz @(Fst ==! Snd) (10,11)
Val LT
>>> pz @(Snd ==! (L12 >> Head)) (('x',[10,12,13]),10)
Val EQ
>>> pl @("aa" ==! Id) "aaaa"
Present LT ((==!) "aa" < "aaaa")
Val LT
>>> pl @(Pairs >> Map (First (Succ >> Succ) >> Fst ==! Snd)) [1,2,3,6,8]
Present [GT,GT,LT,EQ] ((>>) [GT,GT,LT,EQ] | {Map [GT,GT,LT,EQ] | [(1,2),(2,3),(3,6),(6,8)]})
Val [GT,GT,LT,EQ]
>>> pl @((Ones << ShowP Id) >> Map' (Fst ==! Snd) Pairs) 1234223
Present [LT,LT,LT,GT,EQ,LT] ((>>) [LT,LT,LT,GT,EQ,LT] | {Map [LT,LT,LT,GT,EQ,LT] | [("1","2"),("2","3"),("3","4"),("4","2"),("2","2"),("2","3")]})
Val [LT,LT,LT,GT,EQ,LT]
>>> pl @("Abc" ==! Id) "abc"
Present LT ((==!) "Abc" < "abc")
Val LT
>>> pl @(Fst ==! Snd) (3,12)
Present LT ((==!) 3 < 12)
Val LT
>>> pl @(Fst ==! Snd) ("aBc","AbC")
Present GT ((==!) "aBc" > "AbC")
Val GT
>>> pl @(Snd ==! Fst) ("aBc","AbC")
Present LT ((==!) "AbC" < "aBc")
Val LT

Instances

Instances details
(Ord (PP p a), PP p a ~ PP q a, P p a, Show (PP q a), P q a) => P (p ==! q :: Type) a Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p ==! q) a Source #

Methods

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

Show (p ==! q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p ==! q) -> ShowS #

show :: (p ==! q) -> String #

showList :: [p ==! q] -> ShowS #

type PP (p ==! q :: Type) a Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p ==! q :: Type) a = Ordering

data Comparing p Source #

similar to comparing for a tuple

>>> pz @(Comparing Len) ("abc","123456")
Val LT

Instances

Instances details
P (ComparingT p) x => P (Comparing p :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (Comparing p) x Source #

Methods

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

Show (Comparing p) Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (Comparing p :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (Comparing p :: Type) x

data Compare Source #

similar to compare for a tuple

>>> pl @Compare ('b','A')
Present GT ((==!) 'b' > 'A')
Val GT
>>> pl @(Compare) (13,99)
Present LT ((==!) 13 < 99)
Val LT

Instances

Instances details
Show Compare Source # 
Instance details

Defined in Predicate.Data.Ordering

P (Comparing Id) x => P Compare x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP Compare x Source #

Methods

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

type PP Compare x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP Compare x = PP (Comparing Id) x

case insensitive comparison

data p >~ q infix 4 Source #

case-insensitive compare if string expression p is greater than q

Instances

Instances details
P (CmpI 'CGt p q) x => P (p >~ q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p >~ q) x Source #

Methods

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

Show (p >~ q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p >~ q) -> ShowS #

show :: (p >~ q) -> String #

showList :: [p >~ q] -> ShowS #

type PP (p >~ q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p >~ q :: Type) x = Bool

data p >=~ q infix 4 Source #

case-insensitive compare if string expression p is greater than or equal to q

Instances

Instances details
P (CmpI 'CGe p q) x => P (p >=~ q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p >=~ q) x Source #

Methods

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

Show (p >=~ q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p >=~ q) -> ShowS #

show :: (p >=~ q) -> String #

showList :: [p >=~ q] -> ShowS #

type PP (p >=~ q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p >=~ q :: Type) x = Bool

data p ==~ q infix 4 Source #

case-insensitive compare if string expression p is equal to q

>>> pl @("Abc" ==~ Id) "abc"
True (Abc ==~ abc)
Val True
>>> pl @(Fst ==~ Snd) ("aBc","AbC")
True (aBc ==~ AbC)
Val True
>>> pl @(Fst ==~ Snd && Fst == Snd) ("Abc","Abc")
True (True && True)
Val True

Instances

Instances details
P (CmpI 'CEq p q) x => P (p ==~ q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p ==~ q) x Source #

Methods

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

Show (p ==~ q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p ==~ q) -> ShowS #

show :: (p ==~ q) -> String #

showList :: [p ==~ q] -> ShowS #

type PP (p ==~ q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p ==~ q :: Type) x = Bool

data p /=~ q infix 4 Source #

case-insensitive compare if string expression p is not equal to q

Instances

Instances details
P (CmpI 'CNe p q) x => P (p /=~ q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p /=~ q) x Source #

Methods

eval :: MonadEval m => proxy (p /=~ q) -> POpts -> x -> m (TT (PP (p /=~ q) x)) Source #

Show (p /=~ q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p /=~ q) -> ShowS #

show :: (p /=~ q) -> String #

showList :: [p /=~ q] -> ShowS #

type PP (p /=~ q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p /=~ q :: Type) x = Bool

data p <=~ q infix 4 Source #

case-insensitive compare if string expression p is less than or equal to q

Instances

Instances details
P (CmpI 'CLe p q) x => P (p <=~ q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p <=~ q) x Source #

Methods

eval :: MonadEval m => proxy (p <=~ q) -> POpts -> x -> m (TT (PP (p <=~ q) x)) Source #

Show (p <=~ q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p <=~ q) -> ShowS #

show :: (p <=~ q) -> String #

showList :: [p <=~ q] -> ShowS #

type PP (p <=~ q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p <=~ q :: Type) x = Bool

data p <~ q infix 4 Source #

case-insensitive compare if string expression p is less than q

Instances

Instances details
P (CmpI 'CLt p q) x => P (p <~ q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p <~ q) x Source #

Methods

eval :: MonadEval m => proxy (p <~ q) -> POpts -> x -> m (TT (PP (p <~ q) x)) Source #

Show (p <~ q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p <~ q) -> ShowS #

show :: (p <~ q) -> String #

showList :: [p <~ q] -> ShowS #

type PP (p <~ q :: Type) x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p <~ q :: Type) x = Bool

data p ===~ q infix 4 Source #

compare two strings ignoring case and return an ordering

>>> pz @(Fst ===~ Snd) ("abC","aBc")
Val EQ
>>> pz @(Fst ===~ Snd) ("abC","DaBc")
Val LT
>>> pl @(Fst ===~ Snd &&& Fst ==! Snd) ("abc","abc")
Present (EQ,EQ) ('(EQ,EQ))
Val (EQ,EQ)
>>> pl @(Fst ===~ Snd) ("aBc","AbC")
Present EQ ((===~) aBc = AbC)
Val EQ
>>> pl @("Abc" ===~ Id) "abc"
Present EQ ((===~) Abc = abc)
Val EQ

Instances

Instances details
(PP p a ~ String, PP p a ~ PP q a, P p a, P q a) => P (p ===~ q :: Type) a Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP (p ===~ q) a Source #

Methods

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

Show (p ===~ q) Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> (p ===~ q) -> ShowS #

show :: (p ===~ q) -> String #

showList :: [p ===~ q] -> ShowS #

type PP (p ===~ q :: Type) a Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP (p ===~ q :: Type) a = Ordering

lists

data Asc Source #

a type level predicate for a monotonic increasing list

>>> pl @Asc "aaacdef"
True ((>>) True | {All(6)})
Val True
>>> pz @Asc [1,2,3,4,5,5,7]
Val True
>>> pz @Asc "axacdef"
Val False

Instances

Instances details
Show Asc Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> Asc -> ShowS #

show :: Asc -> String #

showList :: [Asc] -> ShowS #

P AscT x => P Asc x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP Asc x Source #

Methods

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

type PP Asc x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP Asc x

data Asc' Source #

a type level predicate for a strictly increasing list

>>> pz @Asc' [1,2,3,4,5,5,7]
Val False
>>> pz @Asc' []
Val True
>>> pz @Asc' [-10]
Val True

Instances

Instances details
Show Asc' Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> Asc' -> ShowS #

show :: Asc' -> String #

showList :: [Asc'] -> ShowS #

P AscT' x => P Asc' x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP Asc' x Source #

Methods

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

type PP Asc' x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP Asc' x

data Desc Source #

a type level predicate for a monotonic decreasing list

Instances

Instances details
Show Desc Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> Desc -> ShowS #

show :: Desc -> String #

showList :: [Desc] -> ShowS #

P DescT x => P Desc x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP Desc x Source #

Methods

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

type PP Desc x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP Desc x

data Desc' Source #

a type level predicate for a strictly decreasing list

Instances

Instances details
Show Desc' Source # 
Instance details

Defined in Predicate.Data.Ordering

Methods

showsPrec :: Int -> Desc' -> ShowS #

show :: Desc' -> String #

showList :: [Desc'] -> ShowS #

P DescT' x => P Desc' x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP Desc' x Source #

Methods

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

type PP Desc' x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP Desc' x

numeric

data AllPositive Source #

a type level predicate for all positive elements in a list

>>> pz @AllPositive [1,5,10,2,3]
Val True
>>> pz @AllPositive [0,1,5,10,2,3]
Val False
>>> pz @AllPositive [3,1,-5,10,2,3]
Val False

Instances

Instances details
Show AllPositive Source # 
Instance details

Defined in Predicate.Data.Ordering

P AllPositiveT x => P AllPositive x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP AllPositive x Source #

Methods

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

type PP AllPositive x Source # 
Instance details

Defined in Predicate.Data.Ordering

data AllNegative Source #

a type level predicate for all negative elements in a list

>>> pz @AllNegative [-1,-5,-10,-2,-3]
Val True

Instances

Instances details
Show AllNegative Source # 
Instance details

Defined in Predicate.Data.Ordering

P AllNegativeT x => P AllNegative x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP AllNegative x Source #

Methods

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

type PP AllNegative x Source # 
Instance details

Defined in Predicate.Data.Ordering

data Positive Source #

a type level predicate for a positive number

Instances

Instances details
Show Positive Source # 
Instance details

Defined in Predicate.Data.Ordering

P PositiveT x => P Positive x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP Positive x Source #

Methods

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

type PP Positive x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP Positive x

data Negative Source #

a type level predicate for a negative number

Instances

Instances details
Show Negative Source # 
Instance details

Defined in Predicate.Data.Ordering

P NegativeT x => P Negative x Source # 
Instance details

Defined in Predicate.Data.Ordering

Associated Types

type PP Negative x Source #

Methods

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

type PP Negative x Source # 
Instance details

Defined in Predicate.Data.Ordering

type PP Negative x