Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Support attributes as types #36

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

MarcCote
Copy link
Contributor

@MarcCote MarcCote commented Sep 13, 2018

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 MarcCote requested a review from tavianator September 13, 2018 14:43
@MarcCote MarcCote force-pushed the openable-lockable-attributes_marc branch 3 times, most recently from 7349c21 to a94b5f1 Compare September 26, 2018 13:04
@MarcCote MarcCote closed this Oct 1, 2018
@MarcCote MarcCote force-pushed the openable-lockable-attributes_marc branch from a94b5f1 to 2fb6b36 Compare October 1, 2018 19:33
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