simple-parser-0.11.0: Simple parser combinators
Safe HaskellNone
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
Functor SProp Source # 
Instance details

Defined in SimpleParser.Examples.Direct.Prop

Methods

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

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

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) #

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 #

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 #

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

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