Skip to content

WIP: Support attributes as types - #36

Open
Marc-Alexandre Côté (MarcCote) wants to merge 1 commit into
microsoft:mainfrom
MarcCote:openable-lockable-attributes_marc
Open

WIP: Support attributes as types#36
Marc-Alexandre Côté (MarcCote) wants to merge 1 commit into
microsoft:mainfrom
MarcCote:openable-lockable-attributes_marc

Conversation

@MarcCote

@MarcCote Marc-Alexandre Côté (MarcCote) commented Sep 13, 2018

Copy link
Copy Markdown
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant