simple-parser-0.12.1: Simple parser combinators
Safe HaskellSafe-Inferred
LanguageHaskell2010

SimpleParser.Examples.Direct.Prop

Description

Parses simple Sexp-formatted logical propositions

Documentation

data SProp v Source #

Constructors

SPropVar !v 
SPropBool !Bool 
SPropNot (SProp v) 
SPropAnd !(Seq (SProp v)) 
SPropOr !(Seq (SProp v)) 
SPropIf !(Seq (SProp v)) (SProp v) 
SPropIff (SProp v) (SProp v) 

Instances

Instances details
Foldable SProp Source # 
Instance details

Defined in SimpleParser.Examples.Direct.Prop

Methods

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

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

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

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

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

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

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

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

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

toList :: SProp a -> [a] #

null :: SProp a -> Bool #

length :: SProp a -> Int #

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

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

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

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

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

Traversable SProp Source # 
Instance details

Defined in SimpleParser.Examples.Direct.Prop

Methods

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

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

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

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

Functor SProp Source # 
Instance details

Defined in SimpleParser.Examples.Direct.Prop

Methods

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

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

Show v => Show (SProp v) Source # 
Instance details

Defined in SimpleParser.Examples.Direct.Prop

Methods

showsPrec :: Int -> SProp v -> ShowS #

show :: SProp v -> String #

showList :: [SProp v] -> ShowS #

Eq v => Eq (SProp v) Source # 
Instance details

Defined in SimpleParser.Examples.Direct.Prop

Methods

(==) :: SProp v -> SProp v -> Bool #

(/=) :: SProp v -> SProp v -> Bool #

guard2 :: MonadFail m => Seq a -> m (Seq a) Source #

guardLast :: MonadFail m => Seq a -> m (Seq a, a) Source #