2.1 KiB
2.1 KiB
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
- What is a constraint.
- Constraint production (constraint rule)
- kept constraints vs. replaced constraints
- simplification/propagation/simpagation
- condition for firing a production
- on start - how it’s actually implemented (main)
- automatic binding of logicals on firing
- pattern matching
- guard condition
- predicates
- arbitrary java code
- predicates
- body
- predicates
- arbitrary java code
- alternative body
- predicates
- handlers
- order of productions within a handler
- kept constraints vs. replaced constraints
- 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