I don't know where all of the knowledgeable people went, so here's an opinionated one to misrepresent them.
My admittedly informal sense is that, broadly speaking, the constraint folks are onto something, and the concurrent constraint folks in particular. I'm extremely impressed with how Oz manages to subsume the object-oriented, functional, logic, and imperative paradigms within the concurrent constraint paradigm.
Moving more specifically to Constraint Handling Rules, perhaps the most impressive aspects of them are their scope of coverage and their breadth of implementation. On the first point, from the CHR home page:
CHR are a high-level language to write constraint systems. CHR make it
easy to define constraint reasoning:
simplification and propagation as well as incremental
solving (satisfaction) of constraints. Also, CHR can be used
- as general purpose concurrent constraint language with ask and tell,
- as fairly efficient production rule system,
- as special kind of theorem prover with constraints,
- as system combining forward and backward chaining,
- for bottom-up evaluation with integrity constraints
- for top-down evaluation with tabulation
- for combining deduction, abduction and constraints
- as high-level language for manipulating attributed variables
- for parsing with executable grammars
On the latter point, please see the "How to get CHR for free" section at the end of the home page.
As a professional server-side Java developer facing some applications that have definite configuration/optimization characteristics, I think CHR as expressed through tools such as JCK are quite exciting.
I hasten to add, however, that this is in the absence of any evaluation of the relative merits of their theoretical underpinnings or of any personal experience with their application. Caveat emptor.
|