Monads for Functional Programming
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
Journal of Functional Programming
Constraint functional logic programming over finite domains
Theory and Practice of Logic Programming
The Design of the Zinc Modelling Language
Constraints
Compiling and Executing Declarative Modeling Languages to Gecode
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
Monadic constraint programming
Journal of Functional Programming
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
WFLP'11 Proceedings of the 20th international conference on Functional and constraint logic programming
Improving the performance of FD constraint solving in a CFLP system
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Hi-index | 0.00 |
The Monadic Constraint Programming framework leverages Haskell's rich static type system and powerful abstraction mechanisms to implement an embedded domain specific language (EDSL) for constraint programming. In this paper we show how the same constraint model expressed in the EDSL can be processed in various modes by external constraint solvers. We distinguish between on-line and off-line use of solvers. In off-line mode, the model is not solved; instead it is compiled to lower-level code that will search for solutions when compiled and run. For on-line use, the search can be handled by either the framework or in the external solver. Off-line mode requires recompilation after each change to the model. To avoid repeated recompilation, we separate model from data by means of parameters that need not be known at compile time. Parametrization poses several challenges, which we resolve by embedding the EDSL more deeply.