Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Algebraic foundations for effect-dependent optimisations

Published: 25 January 2012 Publication History

Abstract

We present a general theory of Gifford-style type and effect annotations, where effect annotations are sets of effects. Generality is achieved by recourse to the theory of algebraic effects, a development of Moggi's monadic theory of computational effects that emphasises the operations causing the effects at hand and their equational theory. The key observation is that annotation effects can be identified with operation symbols. We develop an annotated version of Levy's Call-by-Push-Value language with a kind of computations for every effect set; it can be thought of as a sequential, annotated intermediate language. We develop a range of validated optimisations (i.e., equivalences), generalising many existing ones and adding new ones. We classify these optimisations as structural, algebraic, or abstract: structural optimisations always hold; algebraic ones depend on the effect theory at hand; and abstract ones depend on the global nature of that theory (we give modularly-checkable sufficient conditions for their validity).

Supplementary Material

JPG File (popl_5b_2.jpg)
MP4 File (popl_5b_2.mp4)

References

[1]
S. Abramsky and A. Jung. Hand. of Log. in CS, 3:1--168, 1994.
[2]
R. Atkey. Proc. 3rd CALCO, 3--17, 2009.
[3]
R. Atkey. JFP, 19:335--376, 2009.
[4]
N. Benton and P. Buchlovsky. Proc. 3rd TLDI, 15--26, 2007.
[5]
N. Benton and A. Kennedy. ENTCS, 26:3--20, 1999.
[6]
N. Benton et al. Proc. 11th PPDP, 301--312, 2009.
[7]
N. Benton et al. Proc. 4th APLAS, 114--130, 2006.
[8]
N. Benton et al. Proc. 9th PPDP, 87--96, 2007.
[9]
B. Eckmann and P. J. Hilton. Math. Ann., 145(3):227--255, 1962.
[10]
A. Filinski. Proc. 26th POPL, 175--188, 1999.
[11]
A. Filinski. TCS, 375(1--3):41--75, 2007.
[12]
A. Filinski. Proc. 37th POPL, 483--494, 2010.
[13]
C. Führmann. PhD thesis, University of Edinburgh, 2000.
[14]
C. Führmann. Proc. 5th FoSSaCS, 144--158, 2002.
[15]
A. D. Gordon and A. Jeffrey. J. Comput. Secur., 12:435--483, 2004.
[16]
M. Hennessy and G. D. Plotkin. Proc. 8th MFCS, 108--120, 1979.
[17]
M. Hyland and J. Power. TCS, 366(1--2):144--162, 2006.
[18]
M. Hyland and J. Power. ENTCS, 172:437--458, 2007.
[19]
M. Hyland, G. D. Plotkin, and J. Power. TCS, 357(1--3):70--99, 2006.
[20]
M. Hyland et al. TCS, 375(1--3):20--40, 2007.
[21]
B. Jacobs. Annals of Pure and Applied Logic, 69(1):73--106, 1994.
[22]
P. Johann et al. Proc. 25th LICS, 209--218, 2010.
[23]
R. B. Kieburtz. Proc. 3rd ICFP, 51--62, 1998.
[24]
A. Kock. Mathematica Scandinavia, 29:161--174, 1971.
[25]
P. B. Levy. Proc. 16th CSL, 232--246, 2002.
[26]
P. B. Levy. Call-by-Push-Value, Springer, 2004.
[27]
J. M. Lucassen and D. K. Gifford. Proc. 15th POPL, 47--57, 1988.
[28]
D. Marino and T. Millstein. Proc. 4th TLDI, 39--50, 2009.
[29]
P.-A. Melliès. Proc. 25th LICS, 150--159, 2010.
[30]
J. C. Mitchell. Hand. of TCS, B:365--458, 1990.
[31]
G. D. Plotkin. SIAM J. of Computing, 5:452--487, 1976.
[32]
G. D. Plotkin. LNCS, 4060:150--156, 2006.
[33]
G. D. Plotkin and J. Power. Proc. 4th FoSSaCS, 1--24, 2001.
[34]
G. D. Plotkin and J. Power. LNCS, 2303:342--356, 2002.
[35]
G. D. Plotkin and J. Power. ENTCS, 73:149--163, 2004.
[36]
G. D. Plotkin and M. Pretnar. Proc. 23rd LICS, 118--129, 2008.
[37]
G. D. Plotkin and M. Pretnar. Proc. 19th ESOP, 80--94, 2009.
[38]
J. Power. Theory and Applications of Categories, 6:83--93, 2000.
[39]
J. Power. ENTCS, 161:59--71, 2006.
[40]
M. Pretnar. PhD thesis, University of Edinburgh, 2009.
[41]
J. Reynolds. Proc. 2nd ICALP, 141--156, 1974.
[42]
S. Staton. ENTCS, 249:471--490, 2009.
[43]
T. Coquand et al. Inf. Comp., 93(1):172--221, 1991.
[44]
M. Tofte and J.-P. Talpin. Inf. Comp., 132(2):109--176, 1997.
[45]
A. P. Tolmach. Proc. 2nd TIC, 97--115, 1998.
[46]
P. Wadler. Proc. 3rd ICFP, 63--74, 1998.
[47]
P. Wadler and P. Thiemann. ACM Trans. Comp. Log., 4(1):1--32, 2003.
[48]
A. K. Wright and M. Felleisen. Inf. Comp., 115(1):38--94, 1994.

Cited By

View all
  • (2021)Efficient compilation of algebraic effect handlersProceedings of the ACM on Programming Languages10.1145/34854795:OOPSLA(1-28)Online publication date: 15-Oct-2021
  • (2021)GATE: Gradual Effect TypesLeveraging Applications of Formal Methods, Verification and Validation10.1007/978-3-030-89159-6_21(335-345)Online publication date: 12-Oct-2021
  • (2018)A Low-cost Disk Solution Enabling LSM-tree to Achieve High Performance for Mixed Read/Write WorkloadsACM Transactions on Storage10.1145/316261514:2(1-26)Online publication date: 12-Apr-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 47, Issue 1
POPL '12
January 2012
569 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/2103621
Issue’s Table of Contents
  • cover image ACM Conferences
    POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 2012
    602 pages
    ISBN:9781450310833
    DOI:10.1145/2103656
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 January 2012
Published in SIGPLAN Volume 47, Issue 1

Check for updates

Author Tags

  1. algebraic theory of effects
  2. call-by-push-value
  3. code transformations
  4. compiler optimisations
  5. computational effects
  6. denotational semantics
  7. domain theory
  8. inequational logic
  9. relevant and affine monads
  10. sum and tensor
  11. type and effect systems
  12. universal algebra

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)29
  • Downloads (Last 6 weeks)2
Reflects downloads up to 09 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Efficient compilation of algebraic effect handlersProceedings of the ACM on Programming Languages10.1145/34854795:OOPSLA(1-28)Online publication date: 15-Oct-2021
  • (2021)GATE: Gradual Effect TypesLeveraging Applications of Formal Methods, Verification and Validation10.1007/978-3-030-89159-6_21(335-345)Online publication date: 12-Oct-2021
  • (2018)A Low-cost Disk Solution Enabling LSM-tree to Achieve High Performance for Mixed Read/Write WorkloadsACM Transactions on Storage10.1145/316261514:2(1-26)Online publication date: 12-Apr-2018
  • (2016)Algorithmic analysis of qualitative and quantitative termination problems for affine probabilistic programsACM SIGPLAN Notices10.1145/2914770.283763951:1(327-342)Online publication date: 11-Jan-2016
  • (2016)Type theory in type theory using quotient inductive typesACM SIGPLAN Notices10.1145/2914770.283763851:1(18-29)Online publication date: 11-Jan-2016
  • (2016)Effects as sessions, sessions as effectsACM SIGPLAN Notices10.1145/2914770.283763451:1(568-581)Online publication date: 11-Jan-2016
  • (2016)Effects as sessions, sessions as effectsProceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages10.1145/2837614.2837634(568-581)Online publication date: 11-Jan-2016
  • (2015)Algebraic Effects, Linearity, and Quantum Programming LanguagesACM SIGPLAN Notices10.1145/2775051.267699950:1(395-406)Online publication date: 14-Jan-2015
  • (2015)Effect Systems Revisited--Control-Flow Algebra and SemanticsEssays Dedicated to Hanne Riis Nielson and Flemming Nielson on the Occasion of Their 60th Birthdays on Semantics, Logics, and Calculi - Volume 956010.1007/978-3-319-27810-0_1(1-32)Online publication date: 1-Oct-2015
  • (2013)An Effect System for Algebraic Effects and HandlersAlgebra and Coalgebra in Computer Science10.1007/978-3-642-40206-7_1(1-16)Online publication date: 2013
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media