Combining control effects and their models: Game semantics for a hierarchy of static, dynamic and delimited control effects
Computational effects which provide access to the flow of control (such as first-class continuations, exceptions and delimited continuations) are important features of higher-order programming languages. There are fundamental differences between them in terms of operational behaviour, expressiveness...
Saved in:
| Published in: | Annals of pure and applied logic Vol. 168; no. 2; pp. 470 - 500 |
|---|---|
| Main Author: | |
| Format: | Journal Article |
| Language: | English |
| Published: |
Elsevier B.V
01.02.2017
|
| Subjects: | |
| ISSN: | 0168-0072 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Computational effects which provide access to the flow of control (such as first-class continuations, exceptions and delimited continuations) are important features of higher-order programming languages. There are fundamental differences between them in terms of operational behaviour, expressiveness and implementation, so that understanding how they combine and relate to each other is a challenging objective, with a key role for semantics in making this precise.
This paper develops operational and denotational semantics for a hierarchy of programming languages which include combinations of locally declared control prompts to which a program can escape, with first-class continuations which may either capture their enclosing prompts, or be delimited by them. We describe two different hierarchies of models, both based on categories of games and strategies with a computational monad, but obtained using different methodologies. By relaxing combinations of behavioural constraints on strategies with control flow represented by annotation with control pointers we are able to give direct and explicit characterizations of control operators and their effects, including examples characterizing their macro-expressiveness. By constructing a parallel hierarchy of models by applying sequences of monad transformers, and relating these to the direct interpretation of control effects, we obtain games interpretations of higher-level abstractions such as continuations and exceptions, which can be used as the basis for equational reasoning about programs. |
|---|---|
| AbstractList | Computational effects which provide access to the flow of control (such as first-class continuations, exceptions and delimited continuations) are important features of higher-order programming languages. There are fundamental differences between them in terms of operational behaviour, expressiveness and implementation, so that understanding how they combine and relate to each other is a challenging objective, with a key role for semantics in making this precise.
This paper develops operational and denotational semantics for a hierarchy of programming languages which include combinations of locally declared control prompts to which a program can escape, with first-class continuations which may either capture their enclosing prompts, or be delimited by them. We describe two different hierarchies of models, both based on categories of games and strategies with a computational monad, but obtained using different methodologies. By relaxing combinations of behavioural constraints on strategies with control flow represented by annotation with control pointers we are able to give direct and explicit characterizations of control operators and their effects, including examples characterizing their macro-expressiveness. By constructing a parallel hierarchy of models by applying sequences of monad transformers, and relating these to the direct interpretation of control effects, we obtain games interpretations of higher-level abstractions such as continuations and exceptions, which can be used as the basis for equational reasoning about programs. |
| Author | Laird, J. |
| Author_xml | – sequence: 1 givenname: J. surname: Laird fullname: Laird, J. email: jiml@cs.bath.ac.uk organization: Department of Computer Science, University of Bath, UK |
| BookMark | eNp9kMtOAyEUhlnUxLb6Aq54AGcE5m7cmEarSRM3uiancLA0M9DAxKTx5WWsKxddAT_5zuVbkJnzDgm54SznjNd3-xwO0Oci3VOQM85nZJ4ebcZYIy7JIsY9Y6wqm2JOvld-2Fpn3SdV3o3B9xSNQTVGCk7TcYc20MFr7OM9XcOANOIAbrQqUuMDBbqzGCCo3ZF6Q-MI6euW6qODwarfGom1gx1R_-9wRS4M9BGv_84l-Xh-el-9ZJu39evqcZOpoizHrGygq9tK12bLtQEEhh1XbdGZLRStqbGrBIiU8kI1WGkUrRFGlFCoMvXRxZK0p7oq-BgDGqnsNOc0DdheciYncXIvJ3FyEjdlSVxCxT_0EOwA4XgeejhBSRp-JT0yKotOobYh7S21t-fwH17njuc |
| CitedBy_id | crossref_primary_10_1017_S0956796819000121 crossref_primary_10_1145_3110257 |
| Cites_doi | 10.1016/j.tcs.2006.12.026 10.1006/inco.2000.2917 10.2168/LMCS-6(4:3)2010 10.1016/0890-5401(91)90052-4 10.1145/181889.181891 10.1016/0167-6423(91)90036-W 10.1007/BF01019462 |
| ContentType | Journal Article |
| Copyright | 2016 The Author |
| Copyright_xml | – notice: 2016 The Author |
| DBID | 6I. AAFTH AAYXX CITATION |
| DOI | 10.1016/j.apal.2016.10.011 |
| DatabaseName | ScienceDirect Open Access Titles Elsevier:ScienceDirect:Open Access CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Mathematics Philosophy |
| EndPage | 500 |
| ExternalDocumentID | 10_1016_j_apal_2016_10_011 S0168007216301348 |
| GroupedDBID | --K --M -ET -~X .~1 0R~ 1B1 1RT 1~. 1~5 23M 4.4 457 4G. 5GY 5VS 6I. 6TJ 7-5 71M 8P~ 9JN AACTN AAEDT AAEDW AAFTH AAIAV AAIKJ AAKOC AALRI AAOAW AAQFI AAQXK AAXUO ABAOU ABFNM ABMAC ABTAH ABVKL ABXDB ABYKQ ACAZW ACDAQ ACGFS ACRLP ADBBV ADEZE ADMUD AEBSH AEKER AENEX AETEA AEXQZ AFFNX AFKWA AFTJW AGHFR AGUBO AGYEJ AHHHB AIEXJ AIGVJ AIKHN AITUG AJBFU AJOXV ALMA_UNASSIGNED_HOLDINGS AMFUW AMRAJ ARUGR ASPBG AVWKF AXJTR AZFZN BKOJK BLXMC CS3 EBS EFJIC EFLBG EJD EO8 EO9 EP2 EP3 FDB FGOYB FIRID FNPLU FYGXN G-2 G-Q GBLVA HZ~ H~9 IHE IXB J1W KOM M26 M41 MHUIS MO0 MVM N9A NCXOZ O-L O9- OAUVE OK1 OZT P-8 P-9 P2P PC. Q38 R2- RIG ROL RPZ SCC SDF SDG SDP SES SEW SPC SPCBC SSW SSZ T5K TN5 WH7 WUQ XJT YYP ZY4 ~G- 9DU AATTM AAXKI AAYWO AAYXX ABJNI ABWVN ACLOT ACRPL ACVFH ADCNI ADMHG ADNMO ADVLN ADXHL AEIPS AEUPX AFJKZ AFPUW AGQPQ AIGII AIIUN AKBMS AKRWK AKYEP ANKPU APXCP CITATION EFKBS ~HD |
| ID | FETCH-LOGICAL-c344t-47a9685d6fb1dfaea0e91c839fba38f6e952a2a0e13c7e5de28f2f24a3c4fecd3 |
| ISICitedReferencesCount | 2 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000390509700008&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 0168-0072 |
| IngestDate | Sat Nov 29 01:52:33 EST 2025 Tue Nov 18 22:40:47 EST 2025 Fri Feb 23 02:27:25 EST 2024 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 2 |
| Keywords | Computational monads 68N15 Control operators Game semantics 18C20 Exceptions 18C50 Delimited control 68Q55 Continuations |
| Language | English |
| License | This is an open access article under the CC BY license. |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c344t-47a9685d6fb1dfaea0e91c839fba38f6e952a2a0e13c7e5de28f2f24a3c4fecd3 |
| OpenAccessLink | https://dx.doi.org/10.1016/j.apal.2016.10.011 |
| PageCount | 31 |
| ParticipantIDs | crossref_citationtrail_10_1016_j_apal_2016_10_011 crossref_primary_10_1016_j_apal_2016_10_011 elsevier_sciencedirect_doi_10_1016_j_apal_2016_10_011 |
| PublicationCentury | 2000 |
| PublicationDate | February 2017 2017-02-00 |
| PublicationDateYYYYMMDD | 2017-02-01 |
| PublicationDate_xml | – month: 02 year: 2017 text: February 2017 |
| PublicationDecade | 2010 |
| PublicationTitle | Annals of pure and applied logic |
| PublicationYear | 2017 |
| Publisher | Elsevier B.V |
| Publisher_xml | – name: Elsevier B.V |
| References | Hyland, Ong (br0230) 2000; 163 Laird (br0080) 1998 Laird (br0100) 2001 McCusker (br0210) 1996 Felleisen (br0170) 1991; 17 Laird (br0220) 1997 Sabry, Felleisen (br0190) 1993; 6 Abramsky, Honda, McCusker (br0060) 1998 Laird (br0180) 2002; vol. 2305 Laurent (br0130) 2010; 6 Malacaria, Hankin (br0240) 1998 Danvy, Filinski (br0150) 1990 Murawski, Tzevelekos (br0120) 2014 Sheng, Hudak, Jones (br0070) 1995 Abramsky, McCusker (br0050) 1997 Thielecke (br0140) 2000; vol. 1782 Gunter, Rémy, Riecke (br0160) 1995 Abramsky, McCusker (br0090) 1998 Hyland, Levy, Plotkin, Power (br0040) 2007; 375 Laird (br0110) 2013; vol. 127 Filinski (br0030) 1996 Moggi (br0010) 1991; 93 Quiennec (br0250) 1993; VI Moggi (br0020) 1988 Riecke, Thielecke (br0200) 1999; vol. 1644 Laird (10.1016/j.apal.2016.10.011_br0080) 1998 Laird (10.1016/j.apal.2016.10.011_br0220) 1997 McCusker (10.1016/j.apal.2016.10.011_br0210) 1996 Hyland (10.1016/j.apal.2016.10.011_br0040) 2007; 375 Gunter (10.1016/j.apal.2016.10.011_br0160) 1995 Hyland (10.1016/j.apal.2016.10.011_br0230) 2000; 163 Moggi (10.1016/j.apal.2016.10.011_br0010) 1991; 93 Thielecke (10.1016/j.apal.2016.10.011_br0140) 2000; vol. 1782 Laird (10.1016/j.apal.2016.10.011_br0110) 2013; vol. 127 Sabry (10.1016/j.apal.2016.10.011_br0190) 1993; 6 Abramsky (10.1016/j.apal.2016.10.011_br0060) 1998 Danvy (10.1016/j.apal.2016.10.011_br0150) 1990 Laird (10.1016/j.apal.2016.10.011_br0180) 2002; vol. 2305 Abramsky (10.1016/j.apal.2016.10.011_br0050) 1997 Filinski (10.1016/j.apal.2016.10.011_br0030) 1996 Laurent (10.1016/j.apal.2016.10.011_br0130) 2010; 6 Abramsky (10.1016/j.apal.2016.10.011_br0090) 1998 Murawski (10.1016/j.apal.2016.10.011_br0120) 2014 Quiennec (10.1016/j.apal.2016.10.011_br0250) 1993; VI Sheng (10.1016/j.apal.2016.10.011_br0070) 1995 Malacaria (10.1016/j.apal.2016.10.011_br0240) 1998 Moggi (10.1016/j.apal.2016.10.011_br0020) 1988 Felleisen (10.1016/j.apal.2016.10.011_br0170) 1991; 17 Laird (10.1016/j.apal.2016.10.011_br0100) 2001 Riecke (10.1016/j.apal.2016.10.011_br0200) 1999; vol. 1644 |
| References_xml | – volume: 6 start-page: 289 year: 1993 end-page: 360 ident: br0190 article-title: Reasoning about programs in continuation-passing style publication-title: LISP Symb. Comput. – volume: vol. 127 year: 2013 ident: br0110 article-title: Combining and relating control effects and their semantics publication-title: Proceedings of COS 2013 – volume: 163 start-page: 285 year: 2000 end-page: 408 ident: br0230 article-title: On full abstraction for PCF: I, II and III publication-title: Inform. and Comput. – volume: 93 start-page: 55 year: 1991 end-page: 92 ident: br0010 article-title: Notions of computation and monads publication-title: Inform. and Comput. – volume: vol. 2305 year: 2002 ident: br0180 article-title: Exceptions, continuations and macro-expressiveness publication-title: Proceedings of ESOP '02 – volume: 375 start-page: 20 year: 2007 end-page: 40 ident: br0040 article-title: Combining algebraic effects with continuations publication-title: Theoret. Comput. Sci. – year: 1998 ident: br0080 article-title: A Semantic Analysis of Control – volume: 17 start-page: 35 year: 1991 end-page: 75 ident: br0170 article-title: On the expressive power of programming languages publication-title: Sci. Comput. Program. – year: 1996 ident: br0210 article-title: Games and Full Abstraction for a Functional Metalanguage with Recursive Types – year: 1988 ident: br0020 article-title: Computational Lambda-Calculus and Monads – year: 1996 ident: br0030 article-title: Controlling Effects – year: 2014 ident: br0120 article-title: Game semantics for nominal exceptions publication-title: Proceedings of FOSSACS '14 – year: 2001 ident: br0100 article-title: A fully abstract game semantics of local exceptions publication-title: Proceedings of LICS '01 – year: 1998 ident: br0060 article-title: A fully abstract games semantics for general references publication-title: Proceedings of LICS '98 – volume: VI start-page: 11 year: 1993 end-page: 26 ident: br0250 article-title: A library of high-level control operators publication-title: ACM SIGPLAN Lisp Pointers – start-page: 12 year: 1995 end-page: 23 ident: br0160 article-title: A generalization of exceptions and control in ML like languages publication-title: Proceedings of the ACM Conference on Functional Programming and Computer Architecture – start-page: 1 year: 1998 end-page: 17 ident: br0090 article-title: Call-by-value games publication-title: Proceedings of CSL '97 – start-page: 333 year: 1995 end-page: 343 ident: br0070 article-title: Monad transformers and modular interpreters publication-title: Proceedings of POPL 22 – year: 1990 ident: br0150 article-title: Abstracting control publication-title: LISP and Functional Programming – volume: 6 start-page: 1 year: 2010 end-page: 50 ident: br0130 article-title: Game semantics for first-order logic publication-title: Log. Methods Comput. Sci. – year: 1998 ident: br0240 article-title: Generalised flowcharts and games publication-title: Proceedings of the 25th International Colloquium on Automata, Languages and Programming – year: 1997 ident: br0050 article-title: Linearity, sharing and state: a fully abstract game semantics for Idealized Algol with active expressions publication-title: Algol-Like Languages – year: 1997 ident: br0220 article-title: Full abstraction for functional languages with control publication-title: Proceedings of LICS '97 – volume: vol. 1782 year: 2000 ident: br0140 article-title: On exceptions versus continuations in the presence of state publication-title: Proceedings of ESOP 2000 – volume: vol. 1644 start-page: 635 year: 1999 end-page: 644 ident: br0200 article-title: Typed exceptions and continuations cannot macro-express each other publication-title: Proceedings of ICALP '99 – year: 1988 ident: 10.1016/j.apal.2016.10.011_br0020 – start-page: 333 year: 1995 ident: 10.1016/j.apal.2016.10.011_br0070 article-title: Monad transformers and modular interpreters – volume: vol. 1644 start-page: 635 year: 1999 ident: 10.1016/j.apal.2016.10.011_br0200 article-title: Typed exceptions and continuations cannot macro-express each other – volume: vol. 1782 year: 2000 ident: 10.1016/j.apal.2016.10.011_br0140 article-title: On exceptions versus continuations in the presence of state – year: 1998 ident: 10.1016/j.apal.2016.10.011_br0080 – year: 1997 ident: 10.1016/j.apal.2016.10.011_br0050 article-title: Linearity, sharing and state: a fully abstract game semantics for Idealized Algol with active expressions – volume: 375 start-page: 20 issue: 1–3 year: 2007 ident: 10.1016/j.apal.2016.10.011_br0040 article-title: Combining algebraic effects with continuations publication-title: Theoret. Comput. Sci. doi: 10.1016/j.tcs.2006.12.026 – volume: 163 start-page: 285 year: 2000 ident: 10.1016/j.apal.2016.10.011_br0230 article-title: On full abstraction for PCF: I, II and III publication-title: Inform. and Comput. doi: 10.1006/inco.2000.2917 – year: 1997 ident: 10.1016/j.apal.2016.10.011_br0220 article-title: Full abstraction for functional languages with control – year: 2001 ident: 10.1016/j.apal.2016.10.011_br0100 article-title: A fully abstract game semantics of local exceptions – volume: 6 start-page: 1 issue: 4 year: 2010 ident: 10.1016/j.apal.2016.10.011_br0130 article-title: Game semantics for first-order logic publication-title: Log. Methods Comput. Sci. doi: 10.2168/LMCS-6(4:3)2010 – year: 1996 ident: 10.1016/j.apal.2016.10.011_br0030 – start-page: 1 year: 1998 ident: 10.1016/j.apal.2016.10.011_br0090 article-title: Call-by-value games – year: 1998 ident: 10.1016/j.apal.2016.10.011_br0240 article-title: Generalised flowcharts and games – year: 2014 ident: 10.1016/j.apal.2016.10.011_br0120 article-title: Game semantics for nominal exceptions – start-page: 12 year: 1995 ident: 10.1016/j.apal.2016.10.011_br0160 article-title: A generalization of exceptions and control in ML like languages – volume: 93 start-page: 55 issue: 1 year: 1991 ident: 10.1016/j.apal.2016.10.011_br0010 article-title: Notions of computation and monads publication-title: Inform. and Comput. doi: 10.1016/0890-5401(91)90052-4 – volume: VI start-page: 11 issue: 4 year: 1993 ident: 10.1016/j.apal.2016.10.011_br0250 article-title: A library of high-level control operators publication-title: ACM SIGPLAN Lisp Pointers doi: 10.1145/181889.181891 – volume: vol. 127 year: 2013 ident: 10.1016/j.apal.2016.10.011_br0110 article-title: Combining and relating control effects and their semantics – year: 1996 ident: 10.1016/j.apal.2016.10.011_br0210 – volume: vol. 2305 year: 2002 ident: 10.1016/j.apal.2016.10.011_br0180 article-title: Exceptions, continuations and macro-expressiveness – volume: 17 start-page: 35 year: 1991 ident: 10.1016/j.apal.2016.10.011_br0170 article-title: On the expressive power of programming languages publication-title: Sci. Comput. Program. doi: 10.1016/0167-6423(91)90036-W – year: 1998 ident: 10.1016/j.apal.2016.10.011_br0060 article-title: A fully abstract games semantics for general references – year: 1990 ident: 10.1016/j.apal.2016.10.011_br0150 article-title: Abstracting control – volume: 6 start-page: 289 issue: 3/4 year: 1993 ident: 10.1016/j.apal.2016.10.011_br0190 article-title: Reasoning about programs in continuation-passing style publication-title: LISP Symb. Comput. doi: 10.1007/BF01019462 |
| SSID | ssj0005473 |
| Score | 2.0810437 |
| Snippet | Computational effects which provide access to the flow of control (such as first-class continuations, exceptions and delimited continuations) are important... |
| SourceID | crossref elsevier |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 470 |
| SubjectTerms | Computational monads Continuations Control operators Delimited control Exceptions Game semantics |
| Title | Combining control effects and their models: Game semantics for a hierarchy of static, dynamic and delimited control effects |
| URI | https://dx.doi.org/10.1016/j.apal.2016.10.011 |
| Volume | 168 |
| WOSCitedRecordID | wos000390509700008&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection Journals 2021 issn: 0168-0072 databaseCode: AIEXJ dateStart: 19950115 customDbUrl: isFulltext: true dateEnd: 20180131 titleUrlDefault: https://www.sciencedirect.com omitProxy: false ssIdentifier: ssj0005473 providerName: Elsevier |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3PT9swFLZQ4QAHNGATsA35sFtJVTtO4nBDE7AhQBzY1FvkOLZUREPVFgTaP8_zj7ihY2gcuESVVT-3_r7Yz_bn9xD6FieliQoOy1RNaMRKkUfgxCYRoVQTljFFbAS-32fZxQUfDPJLv5kztekEsrrmDw_5-F2hhjIA21ydfQPcwSgUwGcAHZ4AOzz_C3h4w0ub9SHI0BvNhhdLDicu_40Vw52IkepO1Qg62MRrtprKrsmPbXrFnr6bK0dDmwe9ctnrrR2o765GLbbS9nbn0ZnHzTmF8F6vHXKDGkgMncL-tNfehYCZrR8UHX5jMuWRCUP-bGRNeYtCtDVOMpctxE-5iQ1W-vdo7jYWrnvgNphTIpL2jBDPD87PQmcvTGlBaNho2K4LY6MwNqCg6Jvb4MsU1kr9Dlo-_Hk0OJ3rgpiTJTR_yN-0cqLAxV_ysjfT8lCuPqB1v7TAh44SG2hJ1Zto7TzE5Z1uotXLJnPF4xb6E5iCPYbYY4gBKWyZgh1TDrDhCQ48wcATLHDgCb7V2PFkH3uWWBuBJYstfES_jo-uvv-IfC6OSMaMzSKWiTzlSZXqklRaKNFXOZHgXetSxFynKk-ooFBKYpmppFKUa6opE7FkYLeKP6FOfVurbYSlSAUXuaKxVKwSsowTUnHKSqKJYFm-g0jTp4X0gepNvpSb4t9o7qBuqDN2YVpe_XbSQFV4R9M5kAUw75V6u29q5TNanb8pX1BnNrlTX9GKvJ8Np5M9T7snFImhaw |
| linkProvider | Elsevier |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Combining+control+effects+and+their+models%3A+Game+semantics+for+a+hierarchy+of+static%2C+dynamic+and+delimited+control+effects&rft.jtitle=Annals+of+pure+and+applied+logic&rft.au=Laird%2C+J.&rft.date=2017-02-01&rft.issn=0168-0072&rft.volume=168&rft.issue=2&rft.spage=470&rft.epage=500&rft_id=info:doi/10.1016%2Fj.apal.2016.10.011&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_j_apal_2016_10_011 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0168-0072&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0168-0072&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0168-0072&client=summon |