aig-upf / tarski

Tarski - An AI Planning Modeling Framework
Apache License 2.0
59 stars 20 forks source link

Be consistent in FSTRIPS hierarchy attributes: `symbol`, `name`, `head` #56

Closed gfrances closed 5 years ago

gfrances commented 5 years ago

This is a spin-off from #53: we want to be more consistent in the way we name attributes in different classes of the FSTRIPS hierarchy. Quoting a couple of comments from that issue:

  • [ ] in one of them the main attribute is called symbol, whereas in the other it's _symbol, and then a @property is there to help make things uniform. This "symbol" is sometimes a string, sometimes an object of type BuiltinSymbol, etc.

  • [ ] I see that you haven't transformed all terms yet (constants have a symbol not a name), and that there's now a new member called head defined for all CompoundTerms (but the subclasses haven't been changed).

  • [ ] The general rationale for changing symbol to name was to call "symbol" those attributes that are indeed a symbol (i.e. a function symbol or a predicate symbol); and call "name" those attributes that are just strings or literals. OTOH, the rationale for changing the interface of CompoundTerms was to have both CompoundTerm and Atom present the same interface (a head plus a number of subterms).

This is half implemented in branch dev-0.2.0-symbols. The idea would be to fully finish this work, check for problems in clients of the library, and then merge todev-0.2.0

gfrances commented 5 years ago

I'll close this one in favor of PR #57, sorry for the confusion.