2010
DOI: 10.1016/j.jlap.2010.07.006
|View full text |Cite
|
Sign up to set email alerts
|

Eager and delayed contract monitoring for call-by-value and call-by-name evaluation

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
15
0

Year Published

2011
2011
2019
2019

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 8 publications
(15 citation statements)
references
References 4 publications
0
15
0
Order By: Relevance
“…The SAGE system [Knowles et al 2006] combines dynamic contract checking with extended static checking and thus it resides between tight contract satisfaction and loose contract satisfaction on the horizontal axis and between run-time checking and static analysis on the vertical axis. Degen et al [2010] develop an eager contract system for an eager language and an eager and a 1 : [Xu et al 2009], 2: [Knowles et al 2006], 3: [Findler and Felleisen 2002] 4: [Hinze et al 2006], 5: [Degen et al 2010], 6: [Chitil et al 2003] Fig. 1.…”
Section: Resultsmentioning
confidence: 99%
See 1 more Smart Citation
“…The SAGE system [Knowles et al 2006] combines dynamic contract checking with extended static checking and thus it resides between tight contract satisfaction and loose contract satisfaction on the horizontal axis and between run-time checking and static analysis on the vertical axis. Degen et al [2010] develop an eager contract system for an eager language and an eager and a 1 : [Xu et al 2009], 2: [Knowles et al 2006], 3: [Findler and Felleisen 2002] 4: [Hinze et al 2006], 5: [Degen et al 2010], 6: [Chitil et al 2003] Fig. 1.…”
Section: Resultsmentioning
confidence: 99%
“…Again, the literature differs on this view, with Xu et al [2009] suggesting that the above example should trigger an error and with Chitil et al [2003] arguing that the contract should be ignored for being too strict. Degen et al [2010] study the different approaches to contract checking for lazy languages: they formulate and implement an eager and a delayed contract checking system for a lazy language and compare them using monadic semantics. On this basis, they show that eager contract checking does not satisfy contract idempotence unless severe restrictions are imposed on contracts.…”
Section: Pragmatics Of Contractsmentioning
confidence: 99%
“…Findler and Felleisen [2002] use delayed checks to lift contracts to the world of higher order functions. This work has since led to a significant body of research on the design of higher order contract systems [Disney et al 2011;Feltey et al 2018;Findler and Blume 2006;Findler et al 2007;Greenberg 2015;Greenberg et al 2010;Heidegger et al 2012;Hinze et al 2006;Jia et al 2016;Keil and Thiemann 2015;Moore et al 2016Moore et al , 2014Scholliers et al 2015;Strickland and Felleisen 2009a,b;Swords et al 2015;Takikawa et al 2012;Waye et al 2017] and their semantics [Blume and McAllester 2006;Degen et al 2008Degen et al , 2009Degen et al , 2010Degen et al , 2012Findler et al 2004].…”
Section: Contracts and Blamementioning
confidence: 99%
“…The over-evaluation in eager verification suggests an immediate alternative: we may maintain the user program suspension during verification, but postpone each individual contract's verification until the program demands the contracted value. This semi-eager verification strategy, originally presented by Hinze et al (2006) and later refined (Findler et al, 2008;Degen et al, 2009;Degen et al, 2010;Chitil, 2012), specifies that only those values the program uses will have their contracts verified.…”
Section: Semi-eager Verificationmentioning
confidence: 99%
“…Eager contract enforcement for software contracts, first presented by Meyer (1992), brought into the functional world by Findler & Felleisen (2002), and repeatedly refined (Ou et al, 2004;Findler & Blume, 2006;Flanagan, 2006;Degen et al, 2009;Degen et al, 2010;Greenberg et al, 2010;, presents the idea that contracts are fully-verified specifications, over-evaluating their input to ensure the contract holds while the user program waits for the verification result. To demonstrate this behavior, consider eagerly monitoring nat/c: (λx.…”
Section: Eager Verificationmentioning
confidence: 99%