Constraints as control

Full Paper: Search Google Scholar
 
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. Kaplan programs can manipulate constraints at run-time, with the combined benefits of type-safe syntax trees and first-class functions.
 
Suggested Reading
v

Suggest a relevant paper:
Title *
Authors Pub year

 
 

Discussion


Post anonymously: (You can change the anonymity of a comment at any time.)

You must be logged in to comment. Log in


No comments yet.