Home

planl

Planl is a domain-specific language for expressing planning problems in artificial intelligence. It provides a compact, readable syntax for defining the components of planning problems and can be translated into executable plans by a range of planners. Planl emphasizes declarative descriptions over procedural code, supporting goals, actions, preconditions, effects, and simple temporal constraints. It is intended as an educational and prototyping tool, helping researchers and students compare planning formalisms without heavy boilerplate.

Core concepts in Planl include sorts or types, predicates describing the current state, actions that modify

History and reception: Planl emerged in AI planning research in the late 2010s as a lightweight alternative

Example (simplified) Planl description:

action move

parameters: ?r ?from ?to

preconditions: at(?r, ?from)

effects: not at(?r, ?from); at(?r, ?to)

action pick

parameters: ?r ?obj ?loc

preconditions: at(?r, ?loc) and at(?obj, ?loc)

effects: not at(?obj, ?loc); holding(?r, ?obj)

In current practice, Planl is chiefly used as an instructional tool and a stepping stone to standard

the
state,
and
goals
that
specify
desirable
end
states.
A
Planl
plan
consists
of
actions
arranged
to
transform
the
initial
state
into
a
goal
state.
The
language
supports
parameters,
preconditions,
additive
and
delete
effects,
and
optional
temporal
constraints
that
express
when
actions
may
occur.
to
more
verbose
formalisms.
It
borrows
ideas
from
STRIPS
and
PDDL
while
prioritizing
readability
and
ease
of
parsing
for
teaching
and
rapid
prototyping.
It
has
enjoyed
limited
adoption
in
published
work
and
educational
materials,
with
several
open-source
implementations
that
translate
Planl
descriptions
to
classical
planners.
planning
languages.
Limitations
include
restricted
expressive
power
for
complex
temporal
or
probabilistic
planning
and
limited
standardized
tooling
across
communities.