Compiler

PDDL.jl supports compilation of the semantics of PDDL domains through code-generation for PDDL actions and custom datatypes for PDDL states. See Speeding Up PDDL.jl for a more detailed explanation.

PDDL.compiledFunction
compiled(domain, state)
compiled(domain, problem)

Compile a domain and state and return the resulting compiled domain and compiled state. A problem maybe provided instead of a state.

Top-Level Only

Because compiled defines new types and methods, it should only be called at the top-level in order to avoid world-age errors.

Precompilation Not Supported

Because compiled evaluates code in the PDDL module, it will lead to precompilation errors when used in another module or package. Modules which call compiled should hence disable precompilation.

source
PDDL.compilestateFunction
compilestate(domain, state)

Return compiled version of a state compatible with the compiled domain.

source