Loading...
research article
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.
Type
research article
Web of Science ID
WOS:000300548100012
Authors
Publication date
2012
Published in
Volume
47
Start page
151
End page
164
Peer reviewed
REVIEWED
EPFL units
Available on Infoscience
March 22, 2012
Use this identifier to reference this record