truthy-0.3.0.1: Generalized booleans and truthy values.
Copyrightⓒ 2022 Anselm Schüler
LicenseMIT
Safe HaskellNone
LanguageHaskell2010

Data.Bool.Truthy

Description

This module provides the Truthy class for values that can be treated as Booleans, as well as several newtypes that assign boolean interpretations to existing data.

Synopsis

Documentation

class Boolean (BooleanRep b) => Truthy b where Source #

Values that can be treated as Booleans

Associated Types

type BooleanRep b Source #

The Boolean representation of the value

Methods

truthy :: b -> BooleanRep b Source #

Convert the Truthy value to its Boolean representation

Instances

Instances details
Truthy Bool Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep Bool Source #

Truthy b => Truthy (Contrary b) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (Contrary b) Source #

(Ord n, Num n) => Truthy (PositiveTrue n) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (PositiveTrue n) Source #

(Eq n, Num n) => Truthy (ZeroFalse n) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (ZeroFalse n) Source #

Truthy b => Truthy (a -> b) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (a -> b) Source #

Methods

truthy :: (a -> b) -> BooleanRep (a -> b) Source #

(Functor f, Foldable f, Truthy x) => Truthy (AnyTruthy f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (AnyTruthy f x) Source #

Methods

truthy :: AnyTruthy f x -> BooleanRep (AnyTruthy f x) Source #

(Foldable f, Boolean x) => Truthy (AnyTrue f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (AnyTrue f x) Source #

Methods

truthy :: AnyTrue f x -> BooleanRep (AnyTrue f x) Source #

(Functor f, Foldable f, Truthy x) => Truthy (AllTruthy f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (AllTruthy f x) Source #

Methods

truthy :: AllTruthy f x -> BooleanRep (AllTruthy f x) Source #

(Foldable f, Boolean x) => Truthy (AllTrue f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (AllTrue f x) Source #

Methods

truthy :: AllTrue f x -> BooleanRep (AllTrue f x) Source #

Foldable f => Truthy (EmptyFalse f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (EmptyFalse f x) Source #

newtype ZeroFalse n Source #

A wrapper for numbers (Num instances) that is converted by truthy to False if it is 0

Constructors

ZeroFalse 

Fields

Instances

Instances details
Functor ZeroFalse Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fmap :: (a -> b) -> ZeroFalse a -> ZeroFalse b #

(<$) :: a -> ZeroFalse b -> ZeroFalse a #

Foldable ZeroFalse Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fold :: Monoid m => ZeroFalse m -> m #

foldMap :: Monoid m => (a -> m) -> ZeroFalse a -> m #

foldMap' :: Monoid m => (a -> m) -> ZeroFalse a -> m #

foldr :: (a -> b -> b) -> b -> ZeroFalse a -> b #

foldr' :: (a -> b -> b) -> b -> ZeroFalse a -> b #

foldl :: (b -> a -> b) -> b -> ZeroFalse a -> b #

foldl' :: (b -> a -> b) -> b -> ZeroFalse a -> b #

foldr1 :: (a -> a -> a) -> ZeroFalse a -> a #

foldl1 :: (a -> a -> a) -> ZeroFalse a -> a #

toList :: ZeroFalse a -> [a] #

null :: ZeroFalse a -> Bool #

length :: ZeroFalse a -> Int #

elem :: Eq a => a -> ZeroFalse a -> Bool #

maximum :: Ord a => ZeroFalse a -> a #

minimum :: Ord a => ZeroFalse a -> a #

sum :: Num a => ZeroFalse a -> a #

product :: Num a => ZeroFalse a -> a #

Traversable ZeroFalse Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

traverse :: Applicative f => (a -> f b) -> ZeroFalse a -> f (ZeroFalse b) #

sequenceA :: Applicative f => ZeroFalse (f a) -> f (ZeroFalse a) #

mapM :: Monad m => (a -> m b) -> ZeroFalse a -> m (ZeroFalse b) #

sequence :: Monad m => ZeroFalse (m a) -> m (ZeroFalse a) #

Eq n => Eq (ZeroFalse n) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

(==) :: ZeroFalse n -> ZeroFalse n -> Bool #

(/=) :: ZeroFalse n -> ZeroFalse n -> Bool #

Num n => Num (ZeroFalse n) Source # 
Instance details

Defined in Data.Bool.Truthy

Ord n => Ord (ZeroFalse n) Source # 
Instance details

Defined in Data.Bool.Truthy

Show n => Show (ZeroFalse n) Source # 
Instance details

Defined in Data.Bool.Truthy

(Eq n, Num n) => Truthy (ZeroFalse n) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (ZeroFalse n) Source #

type BooleanRep (ZeroFalse n) Source # 
Instance details

Defined in Data.Bool.Truthy

newtype PositiveTrue n Source #

A wrapper for numbers (Num instances) that is converted by truthy to True if it is > 0

Constructors

PositiveTrue 

Fields

Instances

Instances details
Functor PositiveTrue Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fmap :: (a -> b) -> PositiveTrue a -> PositiveTrue b #

(<$) :: a -> PositiveTrue b -> PositiveTrue a #

Foldable PositiveTrue Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fold :: Monoid m => PositiveTrue m -> m #

foldMap :: Monoid m => (a -> m) -> PositiveTrue a -> m #

foldMap' :: Monoid m => (a -> m) -> PositiveTrue a -> m #

foldr :: (a -> b -> b) -> b -> PositiveTrue a -> b #

foldr' :: (a -> b -> b) -> b -> PositiveTrue a -> b #

foldl :: (b -> a -> b) -> b -> PositiveTrue a -> b #

foldl' :: (b -> a -> b) -> b -> PositiveTrue a -> b #

foldr1 :: (a -> a -> a) -> PositiveTrue a -> a #

foldl1 :: (a -> a -> a) -> PositiveTrue a -> a #

toList :: PositiveTrue a -> [a] #

null :: PositiveTrue a -> Bool #

length :: PositiveTrue a -> Int #

elem :: Eq a => a -> PositiveTrue a -> Bool #

maximum :: Ord a => PositiveTrue a -> a #

minimum :: Ord a => PositiveTrue a -> a #

sum :: Num a => PositiveTrue a -> a #

product :: Num a => PositiveTrue a -> a #

Traversable PositiveTrue Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

traverse :: Applicative f => (a -> f b) -> PositiveTrue a -> f (PositiveTrue b) #

sequenceA :: Applicative f => PositiveTrue (f a) -> f (PositiveTrue a) #

mapM :: Monad m => (a -> m b) -> PositiveTrue a -> m (PositiveTrue b) #

sequence :: Monad m => PositiveTrue (m a) -> m (PositiveTrue a) #

Eq n => Eq (PositiveTrue n) Source # 
Instance details

Defined in Data.Bool.Truthy

Num n => Num (PositiveTrue n) Source # 
Instance details

Defined in Data.Bool.Truthy

Ord n => Ord (PositiveTrue n) Source # 
Instance details

Defined in Data.Bool.Truthy

Show n => Show (PositiveTrue n) Source # 
Instance details

Defined in Data.Bool.Truthy

(Ord n, Num n) => Truthy (PositiveTrue n) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (PositiveTrue n) Source #

type BooleanRep (PositiveTrue n) Source # 
Instance details

Defined in Data.Bool.Truthy

newtype EmptyFalse f x Source #

A wrapper for Foldable data structures that is converted by truthy to False if it is empty

Constructors

EmptyFalse 

Fields

Instances

Instances details
Functor f => Functor (EmptyFalse f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fmap :: (a -> b) -> EmptyFalse f a -> EmptyFalse f b #

(<$) :: a -> EmptyFalse f b -> EmptyFalse f a #

Foldable f => Foldable (EmptyFalse f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fold :: Monoid m => EmptyFalse f m -> m #

foldMap :: Monoid m => (a -> m) -> EmptyFalse f a -> m #

foldMap' :: Monoid m => (a -> m) -> EmptyFalse f a -> m #

foldr :: (a -> b -> b) -> b -> EmptyFalse f a -> b #

foldr' :: (a -> b -> b) -> b -> EmptyFalse f a -> b #

foldl :: (b -> a -> b) -> b -> EmptyFalse f a -> b #

foldl' :: (b -> a -> b) -> b -> EmptyFalse f a -> b #

foldr1 :: (a -> a -> a) -> EmptyFalse f a -> a #

foldl1 :: (a -> a -> a) -> EmptyFalse f a -> a #

toList :: EmptyFalse f a -> [a] #

null :: EmptyFalse f a -> Bool #

length :: EmptyFalse f a -> Int #

elem :: Eq a => a -> EmptyFalse f a -> Bool #

maximum :: Ord a => EmptyFalse f a -> a #

minimum :: Ord a => EmptyFalse f a -> a #

sum :: Num a => EmptyFalse f a -> a #

product :: Num a => EmptyFalse f a -> a #

Traversable f => Traversable (EmptyFalse f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

traverse :: Applicative f0 => (a -> f0 b) -> EmptyFalse f a -> f0 (EmptyFalse f b) #

sequenceA :: Applicative f0 => EmptyFalse f (f0 a) -> f0 (EmptyFalse f a) #

mapM :: Monad m => (a -> m b) -> EmptyFalse f a -> m (EmptyFalse f b) #

sequence :: Monad m => EmptyFalse f (m a) -> m (EmptyFalse f a) #

Eq (f x) => Eq (EmptyFalse f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

(==) :: EmptyFalse f x -> EmptyFalse f x -> Bool #

(/=) :: EmptyFalse f x -> EmptyFalse f x -> Bool #

Ord (f x) => Ord (EmptyFalse f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

compare :: EmptyFalse f x -> EmptyFalse f x -> Ordering #

(<) :: EmptyFalse f x -> EmptyFalse f x -> Bool #

(<=) :: EmptyFalse f x -> EmptyFalse f x -> Bool #

(>) :: EmptyFalse f x -> EmptyFalse f x -> Bool #

(>=) :: EmptyFalse f x -> EmptyFalse f x -> Bool #

max :: EmptyFalse f x -> EmptyFalse f x -> EmptyFalse f x #

min :: EmptyFalse f x -> EmptyFalse f x -> EmptyFalse f x #

Show (f x) => Show (EmptyFalse f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

showsPrec :: Int -> EmptyFalse f x -> ShowS #

show :: EmptyFalse f x -> String #

showList :: [EmptyFalse f x] -> ShowS #

Foldable f => Truthy (EmptyFalse f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (EmptyFalse f x) Source #

type BooleanRep (EmptyFalse f x) Source # 
Instance details

Defined in Data.Bool.Truthy

newtype AllTrue f x Source #

A wrapper for Foldable data structures that truthy evaluates by (&&*)-ing all elements

Constructors

AllTrue 

Fields

Instances

Instances details
Functor f => Functor (AllTrue f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fmap :: (a -> b) -> AllTrue f a -> AllTrue f b #

(<$) :: a -> AllTrue f b -> AllTrue f a #

Foldable f => Foldable (AllTrue f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fold :: Monoid m => AllTrue f m -> m #

foldMap :: Monoid m => (a -> m) -> AllTrue f a -> m #

foldMap' :: Monoid m => (a -> m) -> AllTrue f a -> m #

foldr :: (a -> b -> b) -> b -> AllTrue f a -> b #

foldr' :: (a -> b -> b) -> b -> AllTrue f a -> b #

foldl :: (b -> a -> b) -> b -> AllTrue f a -> b #

foldl' :: (b -> a -> b) -> b -> AllTrue f a -> b #

foldr1 :: (a -> a -> a) -> AllTrue f a -> a #

foldl1 :: (a -> a -> a) -> AllTrue f a -> a #

toList :: AllTrue f a -> [a] #

null :: AllTrue f a -> Bool #

length :: AllTrue f a -> Int #

elem :: Eq a => a -> AllTrue f a -> Bool #

maximum :: Ord a => AllTrue f a -> a #

minimum :: Ord a => AllTrue f a -> a #

sum :: Num a => AllTrue f a -> a #

product :: Num a => AllTrue f a -> a #

Traversable f => Traversable (AllTrue f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

traverse :: Applicative f0 => (a -> f0 b) -> AllTrue f a -> f0 (AllTrue f b) #

sequenceA :: Applicative f0 => AllTrue f (f0 a) -> f0 (AllTrue f a) #

mapM :: Monad m => (a -> m b) -> AllTrue f a -> m (AllTrue f b) #

sequence :: Monad m => AllTrue f (m a) -> m (AllTrue f a) #

Eq (f x) => Eq (AllTrue f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

(==) :: AllTrue f x -> AllTrue f x -> Bool #

(/=) :: AllTrue f x -> AllTrue f x -> Bool #

Ord (f x) => Ord (AllTrue f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

compare :: AllTrue f x -> AllTrue f x -> Ordering #

(<) :: AllTrue f x -> AllTrue f x -> Bool #

(<=) :: AllTrue f x -> AllTrue f x -> Bool #

(>) :: AllTrue f x -> AllTrue f x -> Bool #

(>=) :: AllTrue f x -> AllTrue f x -> Bool #

max :: AllTrue f x -> AllTrue f x -> AllTrue f x #

min :: AllTrue f x -> AllTrue f x -> AllTrue f x #

Show (f x) => Show (AllTrue f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

showsPrec :: Int -> AllTrue f x -> ShowS #

show :: AllTrue f x -> String #

showList :: [AllTrue f x] -> ShowS #

(Foldable f, Boolean x) => Truthy (AllTrue f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (AllTrue f x) Source #

Methods

truthy :: AllTrue f x -> BooleanRep (AllTrue f x) Source #

type BooleanRep (AllTrue f x) Source # 
Instance details

Defined in Data.Bool.Truthy

type BooleanRep (AllTrue f x) = x

newtype AllTruthy f x Source #

A wrapper for Foldable data structures that truthy evaluates by (&&*)-ing all elements’ boolean representations

Constructors

AllTruthy 

Fields

Instances

Instances details
Functor f => Functor (AllTruthy f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fmap :: (a -> b) -> AllTruthy f a -> AllTruthy f b #

(<$) :: a -> AllTruthy f b -> AllTruthy f a #

Foldable f => Foldable (AllTruthy f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fold :: Monoid m => AllTruthy f m -> m #

foldMap :: Monoid m => (a -> m) -> AllTruthy f a -> m #

foldMap' :: Monoid m => (a -> m) -> AllTruthy f a -> m #

foldr :: (a -> b -> b) -> b -> AllTruthy f a -> b #

foldr' :: (a -> b -> b) -> b -> AllTruthy f a -> b #

foldl :: (b -> a -> b) -> b -> AllTruthy f a -> b #

foldl' :: (b -> a -> b) -> b -> AllTruthy f a -> b #

foldr1 :: (a -> a -> a) -> AllTruthy f a -> a #

foldl1 :: (a -> a -> a) -> AllTruthy f a -> a #

toList :: AllTruthy f a -> [a] #

null :: AllTruthy f a -> Bool #

length :: AllTruthy f a -> Int #

elem :: Eq a => a -> AllTruthy f a -> Bool #

maximum :: Ord a => AllTruthy f a -> a #

minimum :: Ord a => AllTruthy f a -> a #

sum :: Num a => AllTruthy f a -> a #

product :: Num a => AllTruthy f a -> a #

Traversable f => Traversable (AllTruthy f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

traverse :: Applicative f0 => (a -> f0 b) -> AllTruthy f a -> f0 (AllTruthy f b) #

sequenceA :: Applicative f0 => AllTruthy f (f0 a) -> f0 (AllTruthy f a) #

mapM :: Monad m => (a -> m b) -> AllTruthy f a -> m (AllTruthy f b) #

sequence :: Monad m => AllTruthy f (m a) -> m (AllTruthy f a) #

Eq (f x) => Eq (AllTruthy f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

(==) :: AllTruthy f x -> AllTruthy f x -> Bool #

(/=) :: AllTruthy f x -> AllTruthy f x -> Bool #

Ord (f x) => Ord (AllTruthy f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

compare :: AllTruthy f x -> AllTruthy f x -> Ordering #

(<) :: AllTruthy f x -> AllTruthy f x -> Bool #

(<=) :: AllTruthy f x -> AllTruthy f x -> Bool #

(>) :: AllTruthy f x -> AllTruthy f x -> Bool #

(>=) :: AllTruthy f x -> AllTruthy f x -> Bool #

max :: AllTruthy f x -> AllTruthy f x -> AllTruthy f x #

min :: AllTruthy f x -> AllTruthy f x -> AllTruthy f x #

Show (f x) => Show (AllTruthy f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

showsPrec :: Int -> AllTruthy f x -> ShowS #

show :: AllTruthy f x -> String #

showList :: [AllTruthy f x] -> ShowS #

(Functor f, Foldable f, Truthy x) => Truthy (AllTruthy f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (AllTruthy f x) Source #

Methods

truthy :: AllTruthy f x -> BooleanRep (AllTruthy f x) Source #

type BooleanRep (AllTruthy f x) Source # 
Instance details

Defined in Data.Bool.Truthy

newtype AnyTrue f x Source #

A wrapper for Foldable data structures that truthy evaluates by (||*)-ing all elements

Constructors

AnyTrue 

Fields

Instances

Instances details
Functor f => Functor (AnyTrue f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fmap :: (a -> b) -> AnyTrue f a -> AnyTrue f b #

(<$) :: a -> AnyTrue f b -> AnyTrue f a #

Foldable f => Foldable (AnyTrue f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fold :: Monoid m => AnyTrue f m -> m #

foldMap :: Monoid m => (a -> m) -> AnyTrue f a -> m #

foldMap' :: Monoid m => (a -> m) -> AnyTrue f a -> m #

foldr :: (a -> b -> b) -> b -> AnyTrue f a -> b #

foldr' :: (a -> b -> b) -> b -> AnyTrue f a -> b #

foldl :: (b -> a -> b) -> b -> AnyTrue f a -> b #

foldl' :: (b -> a -> b) -> b -> AnyTrue f a -> b #

foldr1 :: (a -> a -> a) -> AnyTrue f a -> a #

foldl1 :: (a -> a -> a) -> AnyTrue f a -> a #

toList :: AnyTrue f a -> [a] #

null :: AnyTrue f a -> Bool #

length :: AnyTrue f a -> Int #

elem :: Eq a => a -> AnyTrue f a -> Bool #

maximum :: Ord a => AnyTrue f a -> a #

minimum :: Ord a => AnyTrue f a -> a #

sum :: Num a => AnyTrue f a -> a #

product :: Num a => AnyTrue f a -> a #

Traversable f => Traversable (AnyTrue f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

traverse :: Applicative f0 => (a -> f0 b) -> AnyTrue f a -> f0 (AnyTrue f b) #

sequenceA :: Applicative f0 => AnyTrue f (f0 a) -> f0 (AnyTrue f a) #

mapM :: Monad m => (a -> m b) -> AnyTrue f a -> m (AnyTrue f b) #

sequence :: Monad m => AnyTrue f (m a) -> m (AnyTrue f a) #

Eq (f x) => Eq (AnyTrue f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

(==) :: AnyTrue f x -> AnyTrue f x -> Bool #

(/=) :: AnyTrue f x -> AnyTrue f x -> Bool #

Ord (f x) => Ord (AnyTrue f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

compare :: AnyTrue f x -> AnyTrue f x -> Ordering #

(<) :: AnyTrue f x -> AnyTrue f x -> Bool #

(<=) :: AnyTrue f x -> AnyTrue f x -> Bool #

(>) :: AnyTrue f x -> AnyTrue f x -> Bool #

(>=) :: AnyTrue f x -> AnyTrue f x -> Bool #

max :: AnyTrue f x -> AnyTrue f x -> AnyTrue f x #

min :: AnyTrue f x -> AnyTrue f x -> AnyTrue f x #

Show (f x) => Show (AnyTrue f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

showsPrec :: Int -> AnyTrue f x -> ShowS #

show :: AnyTrue f x -> String #

showList :: [AnyTrue f x] -> ShowS #

(Foldable f, Boolean x) => Truthy (AnyTrue f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (AnyTrue f x) Source #

Methods

truthy :: AnyTrue f x -> BooleanRep (AnyTrue f x) Source #

type BooleanRep (AnyTrue f x) Source # 
Instance details

Defined in Data.Bool.Truthy

type BooleanRep (AnyTrue f x) = x

newtype AnyTruthy f x Source #

A wrapper for Foldable data structures that truthy evaluates by (||*)-ing all elements’ boolean representations

Constructors

AnyTruthy 

Fields

Instances

Instances details
Functor f => Functor (AnyTruthy f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fmap :: (a -> b) -> AnyTruthy f a -> AnyTruthy f b #

(<$) :: a -> AnyTruthy f b -> AnyTruthy f a #

Foldable f => Foldable (AnyTruthy f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fold :: Monoid m => AnyTruthy f m -> m #

foldMap :: Monoid m => (a -> m) -> AnyTruthy f a -> m #

foldMap' :: Monoid m => (a -> m) -> AnyTruthy f a -> m #

foldr :: (a -> b -> b) -> b -> AnyTruthy f a -> b #

foldr' :: (a -> b -> b) -> b -> AnyTruthy f a -> b #

foldl :: (b -> a -> b) -> b -> AnyTruthy f a -> b #

foldl' :: (b -> a -> b) -> b -> AnyTruthy f a -> b #

foldr1 :: (a -> a -> a) -> AnyTruthy f a -> a #

foldl1 :: (a -> a -> a) -> AnyTruthy f a -> a #

toList :: AnyTruthy f a -> [a] #

null :: AnyTruthy f a -> Bool #

length :: AnyTruthy f a -> Int #

elem :: Eq a => a -> AnyTruthy f a -> Bool #

maximum :: Ord a => AnyTruthy f a -> a #

minimum :: Ord a => AnyTruthy f a -> a #

sum :: Num a => AnyTruthy f a -> a #

product :: Num a => AnyTruthy f a -> a #

Traversable f => Traversable (AnyTruthy f) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

traverse :: Applicative f0 => (a -> f0 b) -> AnyTruthy f a -> f0 (AnyTruthy f b) #

sequenceA :: Applicative f0 => AnyTruthy f (f0 a) -> f0 (AnyTruthy f a) #

mapM :: Monad m => (a -> m b) -> AnyTruthy f a -> m (AnyTruthy f b) #

sequence :: Monad m => AnyTruthy f (m a) -> m (AnyTruthy f a) #

Eq (f x) => Eq (AnyTruthy f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

(==) :: AnyTruthy f x -> AnyTruthy f x -> Bool #

(/=) :: AnyTruthy f x -> AnyTruthy f x -> Bool #

Ord (f x) => Ord (AnyTruthy f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

compare :: AnyTruthy f x -> AnyTruthy f x -> Ordering #

(<) :: AnyTruthy f x -> AnyTruthy f x -> Bool #

(<=) :: AnyTruthy f x -> AnyTruthy f x -> Bool #

(>) :: AnyTruthy f x -> AnyTruthy f x -> Bool #

(>=) :: AnyTruthy f x -> AnyTruthy f x -> Bool #

max :: AnyTruthy f x -> AnyTruthy f x -> AnyTruthy f x #

min :: AnyTruthy f x -> AnyTruthy f x -> AnyTruthy f x #

Show (f x) => Show (AnyTruthy f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

showsPrec :: Int -> AnyTruthy f x -> ShowS #

show :: AnyTruthy f x -> String #

showList :: [AnyTruthy f x] -> ShowS #

(Functor f, Foldable f, Truthy x) => Truthy (AnyTruthy f x) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (AnyTruthy f x) Source #

Methods

truthy :: AnyTruthy f x -> BooleanRep (AnyTruthy f x) Source #

type BooleanRep (AnyTruthy f x) Source # 
Instance details

Defined in Data.Bool.Truthy

newtype Contrary b Source #

A wrapper for Truthy instances that inverts their truthy value

Constructors

Contrary 

Fields

Instances

Instances details
Functor Contrary Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fmap :: (a -> b) -> Contrary a -> Contrary b #

(<$) :: a -> Contrary b -> Contrary a #

Foldable Contrary Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

fold :: Monoid m => Contrary m -> m #

foldMap :: Monoid m => (a -> m) -> Contrary a -> m #

foldMap' :: Monoid m => (a -> m) -> Contrary a -> m #

foldr :: (a -> b -> b) -> b -> Contrary a -> b #

foldr' :: (a -> b -> b) -> b -> Contrary a -> b #

foldl :: (b -> a -> b) -> b -> Contrary a -> b #

foldl' :: (b -> a -> b) -> b -> Contrary a -> b #

foldr1 :: (a -> a -> a) -> Contrary a -> a #

foldl1 :: (a -> a -> a) -> Contrary a -> a #

toList :: Contrary a -> [a] #

null :: Contrary a -> Bool #

length :: Contrary a -> Int #

elem :: Eq a => a -> Contrary a -> Bool #

maximum :: Ord a => Contrary a -> a #

minimum :: Ord a => Contrary a -> a #

sum :: Num a => Contrary a -> a #

product :: Num a => Contrary a -> a #

Traversable Contrary Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

traverse :: Applicative f => (a -> f b) -> Contrary a -> f (Contrary b) #

sequenceA :: Applicative f => Contrary (f a) -> f (Contrary a) #

mapM :: Monad m => (a -> m b) -> Contrary a -> m (Contrary b) #

sequence :: Monad m => Contrary (m a) -> m (Contrary a) #

Eq b => Eq (Contrary b) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

(==) :: Contrary b -> Contrary b -> Bool #

(/=) :: Contrary b -> Contrary b -> Bool #

Ord b => Ord (Contrary b) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

compare :: Contrary b -> Contrary b -> Ordering #

(<) :: Contrary b -> Contrary b -> Bool #

(<=) :: Contrary b -> Contrary b -> Bool #

(>) :: Contrary b -> Contrary b -> Bool #

(>=) :: Contrary b -> Contrary b -> Bool #

max :: Contrary b -> Contrary b -> Contrary b #

min :: Contrary b -> Contrary b -> Contrary b #

Show b => Show (Contrary b) Source # 
Instance details

Defined in Data.Bool.Truthy

Methods

showsPrec :: Int -> Contrary b -> ShowS #

show :: Contrary b -> String #

showList :: [Contrary b] -> ShowS #

Truthy b => Truthy (Contrary b) Source # 
Instance details

Defined in Data.Bool.Truthy

Associated Types

type BooleanRep (Contrary b) Source #

type BooleanRep (Contrary b) Source # 
Instance details

Defined in Data.Bool.Truthy