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...

Full description

Saved in:
Bibliographic Details
Published in:Annals of pure and applied logic Vol. 168; no. 2; pp. 470 - 500
Main Author: Laird, J.
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