2011
DOI: 10.1007/978-3-642-20775-4_5
|View full text |Cite
|
Sign up to set email alerts
|

Lazy and Enforceable Assertions for Functional Logic Programs

Abstract: Abstract. Assertions or contracts are an important technique to improve the quality of software. Thus, assertions are also desirable for functional logic programming. Unfortunately, there is no established meaning of assertions in languages with a demand-driven evaluation strategy. Strict assertions are immediately checked but may influence the behavior of programs. Lazy assertions do not modify the behavior but may not be faithful since some assertions might not be checked at all. In order to avoid the disadv… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
6
0

Year Published

2011
2011
2017
2017

Publication Types

Select...
2
1

Relationship

1
2

Authors

Journals

citations
Cited by 3 publications
(6 citation statements)
references
References 18 publications
0
6
0
Order By: Relevance
“…For lazy functional logic languages Hanus [16] proposed to allow the user to choose for each assertion whether it should be eager or lazy, depending on whether meaning preservation or faithfulness are essential. Assertion checking can even be delayed until a point in the program execution, e.g.…”
Section: Discussion Of Related Workmentioning
confidence: 99%
“…For lazy functional logic languages Hanus [16] proposed to allow the user to choose for each assertion whether it should be eager or lazy, depending on whether meaning preservation or faithfulness are essential. Assertion checking can even be delayed until a point in the program execution, e.g.…”
Section: Discussion Of Related Workmentioning
confidence: 99%
“…Note that the pre-and postcondition checkers are constraints rather than Boolean operations. This is useful for lazy assertion checking [16] since constraints can be concurrently evaluated.…”
Section: Where Y Freementioning
confidence: 99%
“…Lazy assertions do not modify the behavior, but a lazily computed result cannot be trusted as long as some assertion has not been checked. As a compromise between these conflicting goals, enforceable assertions are proposed in [16]. These assertions behave like lazy assertions, but they can also be checked upon an explicit request of the programmer, e.g., at the end of a program run or at key intermediate execution points.…”
Section: Where Y Freementioning
confidence: 99%
See 2 more Smart Citations