Developers/todo

From Dyna
Jump to: navigation, search

baselt sitcnano ordomn elolodel cotamonno c4tracerri This page is way out of date. Please see our request tracker instead.

Please delete items that have been taken care of (or surround them with <strike></strike> if that feels better).

For the most part, I've tried to prioritize siblings at each level of the outline. Tasks are initialed. Feel free to add, reprioritize or comment, but use discretion ...

Major features

  • Language
    • e: pruning
    • e,j: transient items (see list of declarations)
    • e: general terms (terms nonspecific to a dynamic program, could be used by the debugger and dynamite)
    • e,j: backpointers should be exprs; should not contain weights; figure out whether they should give fast access to cells. (see chart object)
    • e: first-class type objects (see type object)
    • e: primitive terms
    • e: autoboxing
    • e->n simple reflection using type objects (see type object)
    • fix type inference
    • negation
    • zeroes
    • convergence declarations
    • evaluated subterms w/ integer arithmetic
    • chart.peek
    • unions, sidecasts should all work
    • keep_all_antecedents - selective
  • Dyna source processing
    • e: parse_string (to convert string to term) (see term object)
    • m: declaration inference (see also compiler pipeline)
    • m: binarization with foreign axioms (see compiler pipeline)
      • smarter binarization if the user doesn't explicitly parenthesize? hard to do statically.
      • common subexpression elimination (particularly during binarization)
    • fix expression terms - "times"
    • general transparency of program transformations


  • Low-level interface
    • e: phase in chart.peek. Don't remove the old dequeue_build interface without notice.
  • Namespaces


Fiddly but important details

  • Needed for Dynamite
    • e: if possible, check that trainables are axioms (never used on LHS of a rule)
  • Language syntax changes
      • maybe another low-level call to find out whether something has been derived (see chart object)
      • j: design the :- converge() declarations that control assert/operator[] (see pragmas for items). Noah requests the ability to change convergence criterion at runtime without recompiling; maybe have items like tolerance(goal) (where goal is a type)?
      • j,m: revise type decl inference to take advantage of that
    • e: new syntax for declaring queries
Personal tools
Namespaces

Variants
Actions
Navigation
Tools