Title
Isolating side effects in sequential languages
Abstract
It is well known that adding side effects to functional languages changes the operational equivalences of the language. We develop a new language construct, encap, that forces imperative pieces of code to behave purely functionally, i.e.,without any visible side effects. The coercion operator encap provides a means of extending the simple reasoning principles for equivalences of code in a functional language to a language with side effects. In earlier work, similar coercion operators were developed, but their correctness required the underlying functional language to include parallel operations. The coercion operators developed here are simpler and are proven correct for purely sequential languages. The sequential setting requires the construction of fully abstract models for sequential call-by-value languages and the formulation of a weak form of “monad” suitable for expressing the semantics of call-by-value languages with side effects.
Year
DOI
Venue
1995
10.1145/199448.199450
POPL
Keywords
Field
DocType
visible side effect,underlying functional language,functional language,sequential call-by-value language,isolating side effect,functional languages change,coercion operator,new language,call-by-value language,side effect,sequential language
Programming language,Functional programming,Computer science,Correctness,Theoretical computer science,Operator (computer programming),Constructed language,Monad (functional programming),Semantics
Conference
ISBN
Citations 
PageRank 
0-89791-692-1
10
0.85
References 
Authors
18
2
Name
Order
Citations
PageRank
Jon G. Riecke175258.27
Ramesh Viswanathan227823.10