Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- runChallenge :: forall i k r. (HasFilter i, Eq (CustomFilter i), Ord k, Monoid r, Commutative r, Eq r) => Challenge i k r -> [i] -> (Results k r, Bool)
- getClues :: forall i k r. (HasFilter i, Ord k, Monoid r, Commutative r, Eq r) => Challenge i k r -> [i] -> MonoidalMap [k] ClueState
- getRewards :: forall i k r. (HasFilter i, Ord k, Monoid r, Commutative r, Eq r) => Challenge i k r -> [i] -> r
- empty :: forall i k r. Challenge i k r
- reward :: forall i k r. (Eq r, Monoid r, Commutative r) => r -> Challenge i k r
- clue :: forall i k r. (Eq r, Monoid r, Commutative r) => [k] -> Challenge i k r -> Challenge i k r
- andThen :: forall i k r. (Monoid r, Commutative r, Eq r) => Challenge i k r -> Challenge i k r -> Challenge i k r
- both :: forall i k r. (Eq r, Monoid r, Commutative r) => Challenge i k r -> Challenge i k r -> Challenge i k r
- eitherC :: forall i k r. (Eq r, Monoid r, Commutative r) => Challenge i k r -> Challenge i k r -> Challenge i k r
- bottom :: forall i k r. Challenge i k r
- gate :: forall i k r. InputFilter i -> Challenge i k r -> Challenge i k r
- always :: InputFilter i
- never :: InputFilter i
- andF :: InputFilter i -> InputFilter i -> InputFilter i
- orF :: InputFilter i -> InputFilter i -> InputFilter i
- notF :: InputFilter i -> InputFilter i
- custom :: CustomFilter i -> InputFilter i
- class HasFilter i where
- data CustomFilter i
- filterMatches :: CustomFilter i -> i -> Bool
- seen :: ClueState
- completed :: ClueState
- failed :: ClueState
- quickspec_laws :: [(String, Property)]
- data Challenge i k r
- data MonoidalMap k a
- data Results k r
- data ClueState
Observations
runChallenge :: forall i k r. (HasFilter i, Eq (CustomFilter i), Ord k, Monoid r, Commutative r, Eq r) => Challenge i k r -> [i] -> (Results k r, Bool) Source #
getClues :: forall i k r. (HasFilter i, Ord k, Monoid r, Commutative r, Eq r) => Challenge i k r -> [i] -> MonoidalMap [k] ClueState Source #
getRewards :: forall i k r. (HasFilter i, Ord k, Monoid r, Commutative r, Eq r) => Challenge i k r -> [i] -> r Source #
Challenges
clue :: forall i k r. (Eq r, Monoid r, Commutative r) => [k] -> Challenge i k r -> Challenge i k r Source #
andThen :: forall i k r. (Monoid r, Commutative r, Eq r) => Challenge i k r -> Challenge i k r -> Challenge i k r Source #
both :: forall i k r. (Eq r, Monoid r, Commutative r) => Challenge i k r -> Challenge i k r -> Challenge i k r Source #
eitherC :: forall i k r. (Eq r, Monoid r, Commutative r) => Challenge i k r -> Challenge i k r -> Challenge i k r Source #
Input filters
always :: InputFilter i Source #
never :: InputFilter i Source #
andF :: InputFilter i -> InputFilter i -> InputFilter i Source #
orF :: InputFilter i -> InputFilter i -> InputFilter i Source #
notF :: InputFilter i -> InputFilter i Source #
custom :: CustomFilter i -> InputFilter i Source #
class HasFilter i where Source #
data CustomFilter i Source #
filterMatches :: CustomFilter i -> i -> Bool Source #
Instances
HasFilter Test Source # | |
Defined in Scavenge.InputFilter data CustomFilter Test :: Type Source # filterMatches :: CustomFilter Test -> Test -> Bool Source # |
Clue states
Laws
quickspec_laws :: [(String, Property)] Source #
Types
Instances
data MonoidalMap k a #
A Map
with monoidal accumulation
Instances
Instances
Instances
Bounded ClueState Source # | |
Enum ClueState Source # | |
Defined in Scavenge.ClueState succ :: ClueState -> ClueState # pred :: ClueState -> ClueState # fromEnum :: ClueState -> Int # enumFrom :: ClueState -> [ClueState] # enumFromThen :: ClueState -> ClueState -> [ClueState] # enumFromTo :: ClueState -> ClueState -> [ClueState] # enumFromThenTo :: ClueState -> ClueState -> ClueState -> [ClueState] # | |
Eq ClueState Source # | |
Ord ClueState Source # | |
Defined in Scavenge.ClueState | |
Show ClueState Source # | |
Semigroup ClueState Source # | |
Monoid ClueState Source # | |
Arbitrary ClueState Source # | |
Observe () ClueState ClueState Source # | |
Defined in Scavenge.ClueState |