Constraints as Control
We present an extension of Scala that supports constraint programming over bounded and unbounded domains. The resulting language, Kaplan, provides the benefits of constraint programming while preserving the existing features of Scala. Kaplan integrates constraint and imperative programming by using constraints as an advanced control structure; the developers use the monadic 'for' construct to iterate over the solutions of constraints or branch on the existence of a solution. The constructs we introduce have simple semantics that can be understood as explicit enumeration of values, but are implemented more efficiently using symbolic reasoning.
Cite this item
Koeksal, A. S., Kuncak, V., & Suter, P. (2012). Constraints as Control. POPL 12: Proceedings of the 39Th Annual Acm Sigplan-Sigact Symposium on Principles of Programming Languages, 151–164. https://doi.org/10.1145/2103656.2103675
Click Copy to copy the citation, or select the text manually.
WOS:000304130100014
2012
151
164
NON-REVIEWED
EPFL
| Event name | Event place | Event date |
Philadelphia, PA | Jan 25-27, 2012 | |