Raphael Collet wrote:
Chris vanBuskirk wrote:
I am trying to implement the disjunctive combinator as described in
chapter
11 of Christian Schulte's spaces book ... using Alice, instead of mOZart.
Basically, this (sort of) involves waiting around until all but one of
the
child spaces (one per branch in the disjunction) are positively
failed, and
then merging the remaining alternative with its parent space.
But it seems that there is no equivalent to `{Space.askVerbose s}` in
alice's structures. Is it not possible to differentiate between "stable"
spaces and spaces that are "blocked" on a variable in their parent space
using Alice ML?
As Torsten pointed out, Alice uses Gecode (www.gecode.org) for the
implementation of the constraint system. Gecode computation space are
less general than Oz spaces. Basically there is no support for space
hierarchies like in Mozart.
For constraint programming this limitation is perfectly reasonable: the
Mozart experience showed that using space combinators for CP was too
expensive. Explicit reification usually provides better performance,
which is what Gecode aims at.
That's right, this is one of the major design differences between Gecode
and Mozart. We do have plans, however, to support a limited form of
combinators, which is not based on space hierarchies and gives a good
trade-off between efficiency and flexibility. Anyway, this is something
for Gecode 2.x. For further discussion, I'd also suggest the Gecode or
Alice mailing lists.
Cheers,
Guido
_________________________________________________________________________________
mozart-users mailing list
mozart-users@ps.uni-sb.de
http://www.mozart-oz.org/mailman/listinfo/mozart-users