2006
DOI: 10.1007/11964681_3
|View full text |Cite
|
Sign up to set email alerts
|

Proof Tool Support for Explicit Strictness

Abstract: Abstract. In programs written in lazy functional languages such as for example Clean and Haskell, the programmer can choose freely whether particular subexpressions will be evaluated lazily (the default) or strictly (must be specified explicitly). It is widely known that this choice affects program behavior, resource consumption and semantics in several ways. However, not much experience is available about the impact on logical program properties and formal reasoning. This paper aims to give a better understan… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
5
0

Year Published

2008
2008
2013
2013

Publication Types

Select...
3
3

Relationship

3
3

Authors

Journals

citations
Cited by 9 publications
(5 citation statements)
references
References 17 publications
(18 reference statements)
0
5
0
Order By: Relevance
“…Implementing the EditorArrow model in Clean as EditorArrowCore allows us to use the integrated proof assistant Sparkle (Mol et al, 2002(Mol et al, , 2008Kesteren et al, 2004) and its proof tool support for strictness (Eekelen & Mol, 2005) to verify the correctness of the laws of Section 3 when translated to EditorArrowCore.…”
Section: Arrow Laws For Sparklementioning
confidence: 99%
See 1 more Smart Citation
“…Implementing the EditorArrow model in Clean as EditorArrowCore allows us to use the integrated proof assistant Sparkle (Mol et al, 2002(Mol et al, , 2008Kesteren et al, 2004) and its proof tool support for strictness (Eekelen & Mol, 2005) to verify the correctness of the laws of Section 3 when translated to EditorArrowCore.…”
Section: Arrow Laws For Sparklementioning
confidence: 99%
“…We use Clean because it comes with the interactive proof assistant Sparkle (Mol et al, 2002(Mol et al, , 2008Kesteren et al, 2004;Mol, 2009). We use Sparkle and its special support for reasoning about strictness (Eekelen & Mol, 2005) to determine and analyze the definedness properties of the EditorArrow framework.…”
Section: Introductionmentioning
confidence: 99%
“…This seminal paper [7] was the first to reason formally about the consequences of strictness (changing the order of evaluation). It inspired work to reason less formally, but still remain "morally correct" [31] and work to create a formal proof tool to support reasoning in the context of lazy evaluation combined with explicit strictness [124]. Other lines of research focused on comparing lazy and eager evaluation in a setting with explicit process creation and implicit message-passing communication [60] to assist in developing the best implementation strategy for languages such as Eden. Over the years the topics changed from formally defining the basic concepts of parallelism and graph reduction to the definition of the semantics of concepts that were related to extensions of type systems and to (the incorporation of) concepts from other declarative and imperative languages.…”
Section: Defining Semanticsmentioning
confidence: 99%
“…Below we present a small example to illustrate the propagation of L-values through expressions. For a full explanation of com putation in C lean we refer to [28] and [32]. It is very im portant th a t the starting point of formal reasoning is a logically correct property.…”
Section: E Fin E D N E Ss C O N D Itio N S In P R O P E R Tie Smentioning
confidence: 99%
“…The SPARKLE-tactic 'Definedness' is therefore extremely useful, and can be applied often in proofs. More examples of the use of definedness can be found in [32].…”
Section: S P E C Ia Liz E D B E H a V Io R O F In D U C Tio Nmentioning
confidence: 99%