2012
DOI: 10.1145/2103621.2103675
|View full text |Cite
|
Sign up to set email alerts
|

Constraints as control

Abstract: 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 si… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
41
0

Year Published

2012
2012
2016
2016

Publication Types

Select...
6

Relationship

2
4

Authors

Journals

citations
Cited by 28 publications
(41 citation statements)
references
References 57 publications
0
41
0
Order By: Relevance
“…Our contribution fills an unexplored area between two approaches: running SMT solvers at run time [7] and using quantifier-elimination-like algorithms to compile specifications. In this paper we have shown that for two important theories supported by SMT solvers, compilation of constraints is also feasible.…”
Section: Discussionmentioning
confidence: 99%
See 2 more Smart Citations
“…Our contribution fills an unexplored area between two approaches: running SMT solvers at run time [7] and using quantifier-elimination-like algorithms to compile specifications. In this paper we have shown that for two important theories supported by SMT solvers, compilation of constraints is also feasible.…”
Section: Discussionmentioning
confidence: 99%
“…. ,v n forx and add to φ an additional conjunct n i=1x =v n , see [7]. One possible approach to compile this process is to enrich Presburger arithmetic with finite uninterpreted relations as parameters.…”
Section: Synthesis For Presburger Arithmeticmentioning
confidence: 99%
See 1 more Smart Citation
“…functions without body, given only by postconditions), by invoking a constraint solver at run time [13]. This mechanism reuses counterexample-finding ability as a computation mechanism [11]. Leon thus supports an expressive form of constraint programming with computable functions as constraints.…”
Section: Overviewmentioning
confidence: 99%
“…In this case, declarative specifications are executed 'by magic', as if, in a conventional setting, the interpreter could execute a program assertion by making it true despite the lack of any explicit code to establish it [10,9]. Alternatively, flipping the precedence of the two paradigms, the interpreter can be viewed as a declarative model finder that uses imperative code to setup a declarative specification to be solved.…”
Section: Motivationsmentioning
confidence: 99%