This thesis presents design, application, implementation, and
evaluation of computation spaces as abstractions for
programming constraint services at a high level. Spaces are
seamlessly integrated into a concurrent programming language
and make constraint-based computations compatible with
concurrency through encapsulation.
Spaces are applied to search and combinators as essential
constraint services. State-of-the-art and new search engines
such as visual interactive search and parallel search are
covered. Search is expressive and concurrency-compatible by
using copying rather than trailing. Search is space and time
efficient by using recomputation. Composable combinators, also
known as deep-guard combinators, stress the control facilities
and concurrency integration of spaces.
The implementation of spaces comes as an orthogonal extension
to the implementation of the underlying programming language.
The resulting implementation is shown to be competitive with
existing constraint programming systems.