TextWorld icon indicating copy to clipboard operation
TextWorld copied to clipboard

WIP: Support attributes as types

Open MarcCote opened this issue 7 years ago • 0 comments

A couple of highlights:

  • Can now define multiple alternatives for a given alias. For instance,
reachable(x) = in(x, I);
reachable(x) = at(x, r) & at(P, r);
  • Better expansion of rules, predicates, and aliases for all descendant subtypes.
  • While doing the expansion, preserve rules, predicates and alias that are more fine-grained (e.g. keep the definition of open(door) when expanding open(openable) where door is a subtype of openable).
  • Add argument types to rule name. This makes finding expanded rules easier.
  • Add box, a type of portable container;
  • Add stool, a type of portable supporter;
  • Now, a fixed in place container is known as chest
  • Now, a fixed in place supporter is known as table

TODO

  • Tests still failing.
  • I'm not entirely sure the "keep fine-grained definitions" work as expected. For instance, I'm not dealing when two parent types defined a same rule/predicate/alias.
  • Add documentation and clean commented code.

MarcCote avatar Sep 13 '18 14:09 MarcCote