htn-0.1.0.0: resolver using htn algorithm

Safe HaskellSafe
LanguageHaskell2010

Algorithms.Htn

Documentation

class (Eq a, Ord a, Show a) => Term a Source #

class (Eq a, Ord a, Show a) => PrimitiveTask a Source #

class (Eq a, Ord a, Show a) => CompoundTask a Source #

data Task a b Source #

Constructors

Primitive a 
Compound b 
Invalid String 

Instances

(Eq b, Eq a) => Eq (Task a b) Source # 

Methods

(==) :: Task a b -> Task a b -> Bool #

(/=) :: Task a b -> Task a b -> Bool #

(Ord b, Ord a) => Ord (Task a b) Source # 

Methods

compare :: Task a b -> Task a b -> Ordering #

(<) :: Task a b -> Task a b -> Bool #

(<=) :: Task a b -> Task a b -> Bool #

(>) :: Task a b -> Task a b -> Bool #

(>=) :: Task a b -> Task a b -> Bool #

max :: Task a b -> Task a b -> Task a b #

min :: Task a b -> Task a b -> Task a b #

(Show b, Show a) => Show (Task a b) Source # 

Methods

showsPrec :: Int -> Task a b -> ShowS #

show :: Task a b -> String #

showList :: [Task a b] -> ShowS #

data Domain a b c Source #

Constructors

Domain 

Fields

  • primitiveMap :: Map a [([c], [c])]

    map of PrimitiveTask to conditions, value is tuple of pre-condtions and post-condtions

  • compoundMap :: Map b [([c], [Task a b])]

    map of compoundTask to conditions, value is tuple of pre-conditions and separated tasks

Instances

(Show a, Show b, Show c) => Show (Domain a b c) Source # 

Methods

showsPrec :: Int -> Domain a b c -> ShowS #

show :: Domain a b c -> String #

showList :: [Domain a b c] -> ShowS #

htn :: (PrimitiveTask a, CompoundTask b, Term c) => Domain a b c -> [c] -> [Task a b] -> ([Task a b], [c]) Source #