Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/155090.155104acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free access

Handling control

Published: 01 June 1993 Publication History

Abstract

Non-local control transfer and exception handling have a long tradition in higher-order programming languages such as Common Lisp, Scheme and ML. However, each language stops short of providing a full and complementary approach—control handling is provided only if the corresponding control operator is first-order. In this work, we describe handlers in a higher-order control setting. We invoke our earlier theoretical result that all denotational models of control languages invariably include capabilities that handle control. These capabilities, when incorporated into the language, form an elegant and powerful higher-order generalization of the first-order exception-handling mechanism.

References

[1]
W.F. Clocksin and C.S. Mellish. Programming in Pro. log. Springer-Verlag, 1981.
[2]
O. Danvy and A. Filinski. Abstracting control. In Proc. 1990 A CM Conference on Lisp and Functional Programrnzng, pages 151-160, 1990.
[3]
B.F. Duba, R. Harper, and D. MacQueen. Typing firstclass continuations in ML. In Proc. 18th ACM Symposium on Principles of Programming Languages, pages 163-173, 1991.
[4]
R.K. Dybvig and R. Hieb. Engines from Continuations. Journal of Computer Languages (Pergamon Press), 14(2):109-124, 1989.
[5]
M. Felleisen. Transliterating Prolog into Scheme. Technical Report 182, Indiana University Computer Science Department, 1985.
[6]
M. Felleisen. A-v-CS: An Extended A-Calculus for Scheme. In Proc. 1988 Uonference on Lisp and Functional Programming, pages 72-84, 1988.
[7]
M. FeUeisen. The Theory and Practice of First-Class Prompts. In Proc. 15th A CM Symposium on Principles o/Programming Languages, pages 180-190, 1988.
[8]
R. Harper. Introduction to Standard ML. LFCS Report Series ECS-LFCS-86-14, University of Edinburgh, 1986.
[9]
C.T. Haynes. Logic Continuations. J. Logic Program., 4:157-176, 1987. Preliminary version: In Proc. o/the Third International Conference on Logic Programming, July 1985, London, England, Lecture Notes in Computer Science, Vol. 225, Springer-Verlag, Berlin, 671- 685.
[10]
C.T. Haynes and D.P. Friedman. Abstracting Timed Preemption with Engines. Journal o/Computer Languages (Pergamon Press), 12(2):109-121, 1987. Preliminary version: Engines Build Process Abstractions. In Proc. Con/erence on Lisp and Functional Programming, 1985, 18-24.
[11]
C.T. Haynes and D.P. Friedman. Embedding Continuations in Procedural Objects. A CM Transactions on Programming Languages and Systems, 9(4):245-254, 1987.
[12]
C.T. Haynes, D.P. Friedman, and M. Wand. ObtainJ{ng Coroutines from Continuations. Journal o/Computer Languages (Pergamon Press), 11(3/4):109-121, 19815.
[13]
R. Hieb and R.K. Dybvig. Continuations and Concurrency. In Second A CM SIGPLAN Symposium on Principles and Practice o/Parallel Programming, pages 128-136, 1990.
[14]
P.J. Landin. A Correspondence between Algol 60 and Church's Lambda Notation. Commun. A CM, 8(2):89- 101; 158-165, 1965.
[15]
J. McCarthy et al. Lisp 1.5 Programmer's Manual. The MIT Press, 2nd edition, 1965.
[16]
R. Milner, M. Tofte, and R. Harper. The Definition o/Standard ML. The MiT Press, Cambridge, Massachusetts and London, England, 1990.
[17]
C. Queinnec and B. Serpette. A Dynamic Extent Control Operator for Partial Continuations. In Proc. 18th ACM Symposium on Principles of Programming Languages, pages 174-184, 1991.
[18]
J.C. Reynolds. Definitional interpreters for higherorder programming languages. In Proc. A CM Con/erence, pages 717-740, 1972.
[19]
D. Sitaram and M. Felleisen. Control Delimiters and Their Hierarchies. Lisp and Symbolic Computation, 3(1):67-99, 1990.
[20]
D. Sitaram and M. Felleisen. Reasoning with Continuations II: How to Get Full Abstraction for Models of Control. In Proc. 1990 Con/erence on Lisp and Functional Programming, pages 161-175, 1990.
[21]
D. Sitaram and M. FeUeisen. Modeling Continuations without Continuations. In Proc. 18th A CM Symposium on Principles o/Programming Languages, pages 185- 196, 1991.
[22]
G.L. Steele Jr. Common Lisp: the Language. Digital Press, 1984.
[23]
G.L. Steele Jr. Common Lisp: the Language. Digital Press, second edition, 1990.
[24]
L. Sterling and E. Shapiro. The Art o/Prolog. The MIT Press, 1986.
[25]
J.E. Stoy and C. Strachey. OS6: An Operating System for a Small Computer. Comp. J., 15(2):117-124, 195- 203, 1972.
[26]
G.J. Sussman and G.L. Steele Jr. Scheme: An interpreter for extended lambda calculus. Memo 349, MiT AI Lab, 1975.
[27]
J. Rees W. Clinger et al. Revised4 Report on the Algorithmic Language Scheme, November 1991.

Cited By

View all
  • (2024)Signature restriction for polymorphic algebraic effectsJournal of Functional Programming10.1017/S095679682400005434Online publication date: 27-May-2024
  • (2022)First-class names for effect handlersProceedings of the ACM on Programming Languages10.1145/35632896:OOPSLA2(30-59)Online publication date: 31-Oct-2022
  • (2020)Signature restriction for polymorphic algebraic effectsProceedings of the ACM on Programming Languages10.1145/34089994:ICFP(1-30)Online publication date: 3-Aug-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '93: Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
August 1993
313 pages
ISBN:0897915984
DOI:10.1145/155090
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 1993

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PLDI93
Sponsor:

Acceptance Rates

Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)101
  • Downloads (Last 6 weeks)23
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Signature restriction for polymorphic algebraic effectsJournal of Functional Programming10.1017/S095679682400005434Online publication date: 27-May-2024
  • (2022)First-class names for effect handlersProceedings of the ACM on Programming Languages10.1145/35632896:OOPSLA2(30-59)Online publication date: 31-Oct-2022
  • (2020)Signature restriction for polymorphic algebraic effectsProceedings of the ACM on Programming Languages10.1145/34089994:ICFP(1-30)Online publication date: 3-Aug-2020
  • (2014)Heuristics Entwined with Handlers CombinedProceedings of the 16th International Symposium on Principles and Practice of Declarative Programming10.1145/2643135.2643145(259-270)Online publication date: 8-Sep-2014
  • (2013)Constraining delimited control with contractsProceedings of the 22nd European conference on Programming Languages and Systems10.1007/978-3-642-37036-6_14(229-248)Online publication date: 16-Mar-2013
  • (2009)Representing covert movements by delimited continuationsProceedings of the 2009 international conference on New frontiers in artificial intelligence10.5555/1881958.1881977(161-180)Online publication date: 19-Nov-2009
  • (2009)Revisiting coroutinesACM Transactions on Programming Languages and Systems10.1145/1462166.146216731:2(1-31)Online publication date: 20-Feb-2009
  • (2009)Representing Covert Movements by Delimited ContinuationsNew Frontiers in Artificial Intelligence10.1007/978-3-642-14888-0_16(161-180)Online publication date: 19-Nov-2009
  • (2008)Implementing Higher-Order Control in JavaProceedings of the 2008 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering10.1109/TASE.2008.34(229-232)Online publication date: 17-Jun-2008
  • (2007)A substructural type system for delimited continuationsProceedings of the 8th international conference on Typed lambda calculi and applications10.5555/1770203.1770220(223-239)Online publication date: 26-Jun-2007
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media