swarm-0.3.0.1: 2D resource gathering game with programmable robots
Safe HaskellSafe-Inferred
LanguageHaskell2010

Swarm.Game.Scenario.Objective.Logic

Description

A model for defining boolean expressions for Objective prerequisites.

This model is intended to be user-facing in the .yaml files, and is distinct from that in BoolExpr.

Synopsis

Documentation

data Prerequisite a Source #

In contrast with the BoolExpr type, And and Or can have one or more children instead of exactly two.

Constructors

And (NonEmpty (Prerequisite a)) 
Or (NonEmpty (Prerequisite a)) 
Not (Prerequisite a) 
Id a 

Instances

Instances details
Foldable Prerequisite Source # 
Instance details

Defined in Swarm.Game.Scenario.Objective.Logic

Methods

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

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

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

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

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

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

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

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

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

toList :: Prerequisite a -> [a] #

null :: Prerequisite a -> Bool #

length :: Prerequisite a -> Int #

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

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

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

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

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

Functor Prerequisite Source # 
Instance details

Defined in Swarm.Game.Scenario.Objective.Logic

Methods

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

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

FromJSON (Prerequisite ObjectiveLabel) Source # 
Instance details

Defined in Swarm.Game.Scenario.Objective.Logic

ToJSON (Prerequisite ObjectiveLabel) Source # 
Instance details

Defined in Swarm.Game.Scenario.Objective.Logic

Generic (Prerequisite a) Source # 
Instance details

Defined in Swarm.Game.Scenario.Objective.Logic

Associated Types

type Rep (Prerequisite a) :: Type -> Type #

Methods

from :: Prerequisite a -> Rep (Prerequisite a) x #

to :: Rep (Prerequisite a) x -> Prerequisite a #

Show a => Show (Prerequisite a) Source # 
Instance details

Defined in Swarm.Game.Scenario.Objective.Logic

Eq a => Eq (Prerequisite a) Source # 
Instance details

Defined in Swarm.Game.Scenario.Objective.Logic

type Rep (Prerequisite a) Source # 
Instance details

Defined in Swarm.Game.Scenario.Objective.Logic