1.2 KiB
1.2 KiB
Areas of possible research
Overall performance of Reactor constraints processing library
There are a few points that are critical for performance of Reactor library.
- Indexing of productions by constraint symbol and arguments;
- Dealing with factorial expansion when searching for a match;
- Matching of constraint occurrence with production’s constraint;
- Unification.
Properties of user-defined typesystem
What properties can be asserted of a constraints production system?
- How to check if the production system is decidable, what productions are questionable and/or conflicting.
- How to check if constraints program is terminating, what assertions can be made about a constraints program execution time.
Missing features that may affect constraints processing
A few features are not implemented, need to understand their impact on the semantics of constraints processing.
- Logical variables as indirect arguments to a constraint should reactivate the constraint on update (value/parent).
- The state of logical variables is not restored on frame dropping, which is what happens on switching to alternative body.
Implementing these features must not affect the performance.