mps-coderules/docs/content/todo/todo-processing.md

2.1 KiB
Raw Blame History

TODO Constraints Processing

  • intro
    • committed choice
    • embeddable
    • call back to Java
  • Terms
    • abstract data structure
    • keeping arbitrary POJO
    • unification
      • example of finding MGU with unification
  • Logical variables
    • monotonic
    • Terms with logical vars
    • unification binds logicals
    • logicals are observable
      • parent observer
      • value observer
  • Constraints and predicates
    • What is a constraint.
      • constraint lifecycle
      • constraint store
    • Constraint arguments.
      • POJO
      • Term
      • Logical vars
      • constraint observes its arguments
    • what is a predicate
      • tell / ask
      • unification example
        • ask - test if unification succeeds (logical context)
        • tell - unify terms, assign logicals, re-activate constraints
  • Constraint production (constraint rule)
    • kept constraints vs. replaced constraints
      • simplification/propagation/simpagation
    • condition for firing a production
      • on start - how its actually implemented (main)
    • automatic binding of logicals on firing
      • pattern matching
    • guard condition
      • predicates
        • arbitrary java code
    • body
      • predicates
        • arbitrary java code
      • alternative body
    • handlers
      • order of productions within a handler
  • Processing a constraint
    • one active constraint at any moment
    • productions selected top-to-bottom
    • aux constraints from store
    • committed choice
  • Extensions (differences to CHR)
    • partial rollback (alternative body)
    • observable logicals reactivate constraints
    • matched head binds logicals
  • Semantics of constraints program
    • classical semantics?
    • linear logic semantics