Proceedings of the 14th Symposium on Principles and Practice of Declarative Programming 2012
DOI: 10.1145/2370776.2370781
|View full text |Cite
|
Sign up to set email alerts
|

Automatic synthesis of specifications for first order curry programs

Abstract: This paper presents a technique to automatically infer algebraic property-oriented specifications from first-order Curry programs. Curry is a lazy functional logic language and the interaction between laziness and logical variables raises some additional difficulties with respect to other proposals for functional languages. Our technique statically infers from the source code of a Curry program a specification which consists of a set of equations relating (nested) operation calls that have the same behavior. W… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

1
14
0

Year Published

2013
2013
2023
2023

Publication Types

Select...
4
2

Relationship

2
4

Authors

Journals

citations
Cited by 9 publications
(15 citation statements)
references
References 18 publications
1
14
0
Order By: Relevance
“…Hence, a Curry function is evaluated lazily and may be non-deterministic when defined by overlapping rules. As discussed in [7], the combination of these features raises new issues for defining the equivalence of expressions. Actually, three different notions of equivalence can be distinguished:1.…”
mentioning
confidence: 99%
See 2 more Smart Citations
“…Hence, a Curry function is evaluated lazily and may be non-deterministic when defined by overlapping rules. As discussed in [7], the combination of these features raises new issues for defining the equivalence of expressions. Actually, three different notions of equivalence can be distinguished:1.…”
mentioning
confidence: 99%
“…By contrast, the expression x evaluates to the single result {} x without instantiating the free variable x. Due to these differences, Bacci et al [7] state that ground equivalence is "the (only possible) equivalence notion used in the pure functional paradigm." As we will see later, this is not true since contextual equivalence is also relevant in non-strict functional languages.…”
mentioning
confidence: 99%
See 1 more Smart Citation
“…It is an adaptation for the TRS paradigm of ideas from [2] for the Functional Logic paradigm. This adaptation is not straightforward, since the Functional Logic paradigm is quite similar to the Functional paradigm, but considerably different from the TRS paradigm.…”
Section: Many Notions Of Equivalencementioning
confidence: 99%
“…This operation, denoted addEC (t, s, m) is the most delicate part of the method. If we would not consider the generation of "permuted" equations like f (x, y) = f (y, x), then the whole activity would just boil down to look for the presence of s in some equivalence class and then updating the classification accordingly (like in [2]). Handling of permutations cannot be done by naïvely adding all (different) permutations of s. In this way we would generate many redundant equations.…”
Section: Deriving Specifications From Trssmentioning
confidence: 99%