Skip to main content

Asynchronous Exceptions as an Effect

  • Conference paper
Mathematics of Program Construction (MPC 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5133))

Included in the following conference series:

Abstract

Asynchronous interrupts abound in computing systems, yet they remain a thorny concept for both programming and verification practice. The ubiquity of interrupts underscores the importance of developing programming models to aid the development and verification of interrupt-driven programs. The research reported here recognizes asynchronous interrupts as a computational effect and encapsulates them as a building block in modular monadic semantics. The resulting modular semantic model can serve as both a guide for functional programming with interrupts and as a formal basis for reasoning about interrupt-driven computation as well.

This research was supported in part by the Gilliom Cyber Security Gift Fund.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. de Bakker, J.W.: Mathematical Theory of Program Correctness. International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1980)

    MATH  Google Scholar 

  2. Chatterjee, K., Ma, D., Majumdar, R., Zhao, T., Henzinger, T.A., Palsberg, J.: Stack size analysis for interrupt-driven programs. Inf. Comput. 194(2), 144–174 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  3. Claessen, K., Hughes, J.: QuickCheck: A lightweight tool for random testing of Haskell programs. In: Proc. of International Conference on Functional Programming (ICFP), ACM SIGPLAN (2000)

    Google Scholar 

  4. Dijkstra, E.W.: My recollections of operating system design. SIGOPS Oper. Syst. Rev. 39(2), 4–40 (2005)

    Article  Google Scholar 

  5. Dowse, M., Butterfield, A.: Modelling deterministic concurrent I/O. In: ICFP 2006: Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming, pp. 148–159. ACM, New York (2006)

    Chapter  Google Scholar 

  6. Espinosa, D.: Semantic Lego. PhD thesis, Columbia University (1995)

    Google Scholar 

  7. Hallgren, T., Jones, M.P., Leslie, R., Tolmach, A.: A principled approach to operating system construction in Haskell. In: Proceedings of the Tenth ACM SIGPLAN International Conference on Functional Programming (ICFP05), pp. 116–128. ACM Press, New York (2005)

    Chapter  Google Scholar 

  8. Harrison, W.: The Asynchronous Exceptions As An Effect Codebase, www.cs.missouri.edu/~harrisonwl/AsynchronousExceptions

  9. Harrison, W.: The Essence of Multitasking. In: Johnson, M., Vene, V. (eds.) AMAST 2006. LNCS, vol. 4019, pp. 158–172. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  10. Harrison, W., Hook, J.: Achieving information flow security through monadic control of effects. Invited submission to: Journal of Computer Security, 46 (accepted, 2008)

    Google Scholar 

  11. Harrison, W., Kamin, S.: Metacomputation-based compiler architecture. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol. 1837, pp. 213–229. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  12. Hughes, J., O’Donnell, J.: Nondeterministic functional programming with sets. In: Proceedings of the 1990 Banf Conference on Higher Order Reasoning (1990)

    Google Scholar 

  13. Hutton, G., Wright, J.: What is the Meaning of These Constant Interruptions? Journal of Functional Programming 17(6), 777–792 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  14. Li, P., Zdancewic, S.: Combining events and threads for scalable network services implementation and evaluation of monadic, application-level concurrency primitives. In: PLDI 2007: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, pp. 189–199. ACM Press, New York (2007)

    Chapter  Google Scholar 

  15. Liang, S.: Modular Monadic Semantics and Compilation. PhD thesis, Yale University (1998)

    Google Scholar 

  16. Liang, S., Hudak, P., Jones, M.: Monad transformers and modular interpreters. In: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pp. 333–343. ACM Press, New York (1995)

    Chapter  Google Scholar 

  17. Marlow, S., Peyton Jones, S., Moran, A., Reppy, J.: Asynchronous exceptions in Haskell. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pp. 274–285 (2001)

    Google Scholar 

  18. Moggi, E.: An Abstract View of Programming Languages. Technical Report ECS-LFCS-90-113, Department of Computer Science, Edinburgh University (1990)

    Google Scholar 

  19. Moggi, E.: Notions of computation and monads. Inf. Comput. 93(1), 55–92 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  20. Morris, J.M., Tyrrell, M.: Terms with unbounded demonic and angelic nondeterminacy. Sci. Comput. Program. 65(2), 159–172 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  21. Palsberg, J., Ma, D.: A Typed Interrupt Calculus. In: Damm, W., Olderog, E.-R. (eds.) FTRTFT 2002. LNCS, vol. 2469, pp. 291–310. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  22. Papaspyrou, N.S.: A Resumption Monad Transformer and its Applications in the Semantics of Concurrency. In: Proceedings of the 3rd Panhellenic Logic Symposium (2001); Expanded version available as a tech. report from the author by request

    Google Scholar 

  23. Peyton Jones, S.: Tackling the Awkward Squad: Monadic Input/Output, Concurrency, Exceptions, and Foreign-language Calls in Haskell. In: Engineering Theories of Software Construction. NATO Science Series, vol. III 180, pp. 47–96. IOS Press, Amsterdam (2000)

    Google Scholar 

  24. Peyton Jones, S., Reid, A., Hoare, C.A.R., Marlow, S., Henderson, F.: A semantics for imprecise exceptions. In: Proceedings of the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation, pp. 25–36 (May 1999)

    Google Scholar 

  25. Peyton Jones, S., Wadler, P.: Imperative functional programming. In: Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pp. 71–84. ACM Press, New York (1993)

    Chapter  Google Scholar 

  26. Plotkin, G.D.: A Powerdomain Construction. SIAM Journal of Computation 5(3), 452–487 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  27. Schmidt, D.A.: Denotational Semantics: A Methodology for Language Development. Allyn and Bacon, Boston (1986)

    Google Scholar 

  28. Smyth, M.B.: Powerdomains. Journal of Computer and System Sciences 16(1), 23–36 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  29. Swierstra, W., Altenkirch, T.: Beauty in the beast. In: Haskell 2007: Proceedings of the ACM SIGPLAN workshop on Haskell workshop, pp. 25–36. ACM, New York (2007)

    Chapter  Google Scholar 

  30. Tolmach, A., Antoy, S.: A monadic semantics for core curry. In: Proceedings of the 12th International Workshop on Functional and (Constraint) Logic Programming (June 2003)

    Google Scholar 

  31. Wadler, P.: The essence of functional programming. In: Proceedings of the 19th Symposium on Principles of Programming Languages (POPL), pp. 1–14. ACM Press, New York (1992)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Philippe Audebaud Christine Paulin-Mohring

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Harrison, W.L., Allwein, G., Gill, A., Procter, A. (2008). Asynchronous Exceptions as an Effect. In: Audebaud, P., Paulin-Mohring, C. (eds) Mathematics of Program Construction. MPC 2008. Lecture Notes in Computer Science, vol 5133. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70594-9_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-70594-9_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-70593-2

  • Online ISBN: 978-3-540-70594-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics