Factor/GSoC/2010/CSP

idea: a constraint solving library with a nice declarative syntax similar to the Oz language.

could be a binding to gecode with swig, or freshly started with engines added later on.

A backtracking engine is already available, but no declarative api exists for it.

Create an api and use the backtracking engine to implement its features.

Later on, you can add other engines in order to provide a better matching or better efficiency for other use cases.

see this document (citeseer's cached pdf) for ideas and background much beyond the "simple" proposal: http://www.wuala.com/stuff3/Documents/10.1.1.9.6733.pdf

see also csplib.org for example use cases.

future:

Such a constraint library is useful for tasks that require a large search of options using a declarative language since no simple solution is known.

especially for prioritizing, time efficiency, resource handling and valid ranges to check for a certain mechanism/machinary/etc that you may be building.

It can also be used to verify correctness of code by following all branches and issuing warnings for unchecked situations.

This revision created on Fri, 12 Mar 2010 17:45:06 by kobi