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. Riecke | 1 | 752 | 58.27 |
Ramesh Viswanathan | 2 | 278 | 23.10 |