skip to main content
research-article

Algebraic foundations for effect-dependent optimisations

Published:25 January 2012Publication History
Skip Abstract Section

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

Skip Supplemental Material Section

Supplemental Material

popl_5b_2.mp4

References

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

Index Terms

  1. Algebraic foundations for effect-dependent optimisations

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!