Skip to content

Latest commit

 

History

History
22 lines (17 loc) · 1.29 KB

internals-world.md

File metadata and controls

22 lines (17 loc) · 1.29 KB

Mycroft internals: the world

The world is an object containing all meaningful information about the interpreter's internal state.

The world has the following attributes:

  • world.MYCERR -- see Error Internals
  • world.MYCERR_STR -- see Error Internals
  • world.aliases -- a list of aliases between identical predicates in the form of an associative array
  • world.symbols -- an associative array keyed by symbol name, for variables

Furthermore, world contains a set of keys that are predicate IDs. The values for each of these keys have the form:

  • world["name/arity"].det -- if true or nil, predicate is determinate
  • world["name/arity"].facts -- an associative array keyed on a serialized set of args, with each value a CTV
  • world["name/arity"].def -- a structure containing:
  • world["name/arity"].def.children -- a list of predicate objects of the form {name=predname, arity=arity}
  • world["name/arity"].def.correspondences -- a list of mappings (see Parsing Internals) forming a parallel array with children
  • world["name/arity"].def.literals -- a list of lists of literals forming a parallel array with children. When an element in one of these lists is not nil, the literal is substituted
  • world["name/arity"].def.op -- either "and" or "or"