a silly question about concurrent propagators
Aurélien Campéas
aurelien.campeas at logilab.fr
Thu Feb 22 12:50:41 CET 2007
Dear Mozart/Oz users and hackers,
While we are doing some 'final touches' (read : last-minute debugging
of vital functionality) to a dumbed-down (non-nestable) version of the
computation space concept for inclusion in PyPy (see the pypy project
at : http://codespeak.net/pypy/) I also have to polish the technical
report that explains what we did, and why, and I have a hard time
remembering the rationale behind constraint propagators running in
their own threads. (I'am quite sure I asked Raphael at some point but
I didn't record reliably his answer, whatever it was)
The problem with that is that it seems to add gratuitous overhead
(compared to a simple algorithm like AC3) without any visible (to me,
yet) gain in *practical* expressive power. For both practicality and
performance reasons, neither Logilab constraint package nor Gecode
do that kind of stuff.
Some reasons I can imagine for having done so :
* that Gert Smolka could write :
"Oz is based on a formal computation model accomodating concurrent
computations as rewriting a class of expressions modulo a structural
congruence. This setup is known from a recent version of Milner's
pi-calculus. It proves particularly useful for concurrent
constraint computation since the structural congruence can elegantly
model propagation and simplification of constraint." ;-)
* it fits well into the concurrent infrastructure provided in Oz and
is a case of eating one's dog food
* ... (no, I won't tell you my wilder guesses)
Could you, especially Mozart/Oz designers and hackers, sched some
light on this ? Any pointers appreciated ; especially to applications
making use of the feature.
Also I am a bit curious to know how the geoz project copes with this.
Btw, it was a lot of fun implementing some of oz' features into
PyPY. It makes for a programing style that looks a bit alien in
Python, but that is due in part to lack of syntactic sugar ; in other
parts to the relative novelty (in Python-land) of the imported
concepts. I must add that the visit we did to Louvain-la-Neuve last
year was not only enjoyable but also fruitful in many respects.
Cheers,
Aurélien.
More information about the mozart-users
mailing list