ACM Home Page
Please provide us with feedback. Feedback
Isolating side effects in sequential languages
Full text PdfPdf (1.36 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
San Francisco, California, United States
Pages: 1 - 12  
Year of Publication: 1995
ISBN:0-89791-692-1
Authors
Jon G. Riecke  AT&T Bell Laboratories, 600 Mountain Avenue, Murray Hill, NJ
Ramesh Viswanathan  Stanford University, Department of Computer Science, Stanford, CA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 11,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/199448.199450
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
S. Abramsky, R. Jagadeesan, and P. Malacaria. Games and full abstraction for PCF: preliminary announcement. Unpublished, 1993.
 
3
4
5
 
6
P.-L. Curien. Observable sequential algorithms on concrete data structures. In Proceedings, Seventh Annual IEEE Symposium on Logic in Computer Science, pages 432-443, 1992.
7
8
 
9
 
10
J. C. Guzm~n and A. Su~rez. A type system for exceptions. In Record of the 199'4 A CM SIGPLAN Work.. shop on ML and its Applications, pages 127-135, 1994. Available as INRIA Technical Report 2265.
11
 
12
P. Hudak. Continuation-based mutable abstract datatypes, or how to have your state and munge it too. Technical Report Research Report YALEU/DCS/RR- 914, Yale University, 1992.
 
13
P. Hudak, S. L. Peyton Jones, P. L. Wadler, Arvind, B. Boutel, J. Fairbairn, J. Fasel, M. Guzman, K. Hammond, J. Hughes, T. Johnsson, R. Kieburtz, R. S. Nikhil, W. Partain, and J. Peterson. Report on the functional programming language Haskell, Version 1.2. A CM SIGPLAN Notices, May 1992.
 
14
 
15
M. Hyland and L. Ong. Dialogue games and innocent strategies: An approach to intensional full abstraction to PCF (preliminary announcement). Unpublished, 1993.
16
17
18
 
19
J. M. Lucassen. Type.checking Fluent Languages. PhD thesis, Dept. Electrical Engineering & Computer Sci., M#ssachusetts Institute of Technology, 1987. Available as technical report MIT/LCS/TR-408 (MIT Laboratory for Computer Science).
20
 
21
R. Mflner. Fully abstract models of the typed lambda calculus. Theoretical Computer Sci., 4:1-22, 1977.
 
22
R. Mflner. Fully abstract models of the typed lambda Standard ML. MIT Press, 1990.
 
23
 
24
G. Morrisett. Generalizing first-class stores. In A CM SIGLPLAN Workshop on State #n Programming Languages, p#ges 73-87, 1993. Available as Yale Technical Report YALEU/DCS/RR-968.
25
 
26
27
 
28
C.-H. L. Ong. The Lazy Lambda Calculus: An Investigation into the Foundations of Functional Programruing. PhD thesis, Imperial College, University of London, 1988.
29
 
30
G. D. Plotkin. Call-by-name, call-by-value and the A- calculus. Theoretical Computer Sci., 1:125-159, 1975.
 
31
G. D. Plotkin. LCF considered as # programming language. Theoretical Computer Sci., 5:223-257, 1977.
32
 
33
J. C. Reynolds. The essence of Algol. In J. W. de Bakker and J. C. van Vfiet, editors, Algomthmic Languages, pages 345-372. North-Holland, Amsterdam, 1981.
 
34
 
35
36
37
 
38
J. G. Riecke and R. Visw#nathan. Full abstraction for call-by-value sequential languages. Unpublished manuscript, 1993.
39
 
40
 
41
J.-P. Talpin. Theoretical and Practical Aspects of Type and Effect Inference. PhD thesis, University of Paris VI, t993.
 
42
J.-P. Talpin and P. Jouvelot. Polymorphic type, region #nd effect inference. Journal of Functional Programming, 2:245-271, 1992.
43


Collaborative Colleagues:
Jon G. Riecke: colleagues
Ramesh Viswanathan: colleagues