Fri Sep 4 11:13:10 CEST 2009

Practical: constraint.ss

I have a first draft of a staged local propagation constraint
language.  Now the plan is to clean this up by eliminating scheme
phase issues (i.e. rule classes are phase 1) and find a way around
multiple outputs.

OK Phase issues are fixed.  Let's leave multiple outputs to later.

How to make this more interesting?  One of the requirements is
definitely going to be inequalities.

Maybe a `range' type would be good.

I.e. the MAX rule:

     m = MAX(a,b)

when it receives values for `a' and `b' it can compute a value for

however, if it receives a value for `m' and `a' things are more

   a > m   -> ERROR
   a = m   -> b \in [-\infty, a]
   a < m   -> b = m

for floating point values that are part of measurements, the equality
doesn't make much sense.. so ranges aren't really necessary.