2005
DOI: 10.1145/1090189.1086379
|View full text |Cite
|
Sign up to set email alerts
|

Witnessing side-effects

Abstract: We present a new approach to the old problem of adding global mutable state to purely functional languages. Our idea is to extend the language with "witnesses," which is based on an arguably more pragmatic motivation than past approaches. We give a semantic condition for correctness and prove it is sufficient. We also give a somewhat surprising static checking algorithm that makes use of a network flow property equivalent to the semantic condition via reduction to a satisfaction problem for a system of linear … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2

Citation Types

0
2
0

Year Published

2009
2009
2012
2012

Publication Types

Select...
3

Relationship

0
3

Authors

Journals

citations
Cited by 3 publications
(2 citation statements)
references
References 18 publications
(18 reference statements)
0
2
0
Order By: Relevance
“…The annotation uses objects to witness side-effects [Terauchi and Aiken 2008]. However, in contrast to the large research on data races, we only enforce the absence of read-write data races on our witness objects and allow write-write data races.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…The annotation uses objects to witness side-effects [Terauchi and Aiken 2008]. However, in contrast to the large research on data races, we only enforce the absence of read-write data races on our witness objects and allow write-write data races.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…In pure functional languages, which lack side-effects, monads [16], witnesses [14], and uniqueness [4] types were introduced to make external side-effects explicit. There has been work to blend the advantages of imperative and functional programs [9], and to allow imperative languages to borrow the explicit side-effect type systems [7].…”
Section: Related Workmentioning
confidence: 99%