Monadic constraint programming

32Citations
Citations of this article
65Readers
Mendeley users who have this article in their library.

Abstract

A constraint programming system combines two essential components: a constraint solver and a search engine. The constraint solver reasons about satisfiability of conjunctions of constraints, and the search engine controls the search for solutions by iteratively exploring a disjunctive search tree defined by the constraint program. In this paper we give a monadic definition of constraint programming in which the solver is defined as a monad threaded through the monadic search tree. We are then able to define search and search strategies as first-class objects that can themselves be built or extended by composable search transformers. Search transformers give a powerful and unifying approach to viewing search in constraint programming, and the resulting constraint programming system is first class and extremely flexible. © 2009 Cambridge University Press.

Cite

CITATION STYLE

APA

Schrijvers, T., Stuckey, P., & Wadler, P. (2009). Monadic constraint programming. Journal of Functional Programming, 19(6), 663–697. https://doi.org/10.1017/S0956796809990086

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free