Skip to main content

Let’s See How Things Unfold: Reconciling the Infinite with the Intensional (Extended Abstract)

  • Conference paper
Algebra and Coalgebra in Computer Science (CALCO 2009)

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

Included in the following conference series:

Abstract

Coinductive types model infinite structures unfolded on demand, like politicians’ excuses: for each attack, there is a defence but no likelihood of resolution. Representing such evolving processes coinductively is often more attractive than representing them as functions from a set of permitted observations, such as projections or finite approximants, as it can be tricky to ensure that observations are meaningful and consistent. As programmers and reasoners, we need coinductive definitions in our toolbox, equipped with appropriate computational and logical machinery.

Lazy functional languages like Haskell [18] exploit call-by-need computation to over-approximate the programming toolkit for coinductive data: in a sense, all data is coinductive and delivered on demand, or not at all if the programmer has failed to ensure the productivity of a program.

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. Abbott, M., Altenkirch, T., Ghani, N.: Containers - constructing strictly positive types. Theoretical Computer Science 342, 3–27 (2005); Applied Semantics: Selected Topics

    Article  MathSciNet  MATH  Google Scholar 

  2. Altenkirch, T., McBride, C., Swierstra, W.: Observational equality, now! In: Stump, A., Xi, H. (eds.) PLPV, pp. 57–68. ACM, New York (2007)

    Chapter  Google Scholar 

  3. Altenkirch, T., Morris, P.: Indexed Containers. In: Proceedings of LICS (2009)

    Google Scholar 

  4. Bertot, Y., Castéran, P.: Interactive Theorem Proving And Program Development: Coq’Art: the Calculus of Inductive Constructions. Springer, Heidelberg (2004)

    Book  MATH  Google Scholar 

  5. Cockett, R., Fukushima, T.: About Charity. Yellow Series Report No. 92/480/18, Department of Computer Science, The University of Calgary (June 1992)

    Google Scholar 

  6. Cockett, R., Spencer, D.: Strong categorical datatypes I. In: Seely, R.A.G. (ed.) International Meeting on Category Theory 1991, Canadian Mathematical Society Proceedings, AMS (1992)

    Google Scholar 

  7. Giménez, E.: Codifying guarded definitions with recursive schemes. In: Smith, J., Dybjer, P., Nordström, B. (eds.) TYPES 1994. LNCS, vol. 996, pp. 39–59. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  8. Giménez, E.: Un Calcul de Constructions Infinies et son application à la vérification de systèmes communicants. PhD thesis, Ecole Normale Supérieure de Lyon (1996)

    Google Scholar 

  9. Gonthier, G.: A computer-checked proof of the Four-Colour theorem. Technical report, Microsoft Research (2005)

    Google Scholar 

  10. Hagino, T.: A Categorical Programming Language. PhD thesis, Laboratory for Foundations of Computer Science, University of Edinburgh (1987)

    Google Scholar 

  11. Hancock, P., Setzer, A.: Interactive programs in dependent type theory. In: Clote, P.G., Schwichtenberg, H. (eds.) CSL 2000. LNCS, vol. 1862, pp. 317–331. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  12. Hancock, P., Setzer, A.: Interactive programs and weakly final coalgebras in dependent type theory. In: Crosilla, L., Schuster, P. (eds.) From Sets and Types to Topology and Analysis. Towards Practicable Foundations for Constructive Mathematics, Oxford, pp. 115–134. Clarendon Press (2005)

    Google Scholar 

  13. Hofmann, M.: Extensional concepts in intensional type theory. PhD thesis, Laboratory for Foundations of Computer Science, University of Edinburgh (1995), http://www.lfcs.informatics.ed.ac.uk/reports/95/ECS-LFCS-95-327/

  14. McBride, C., McKinna, J.: The view from the left. Journal of Functional Programming 14(1), 69–111 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  15. Michelbrink, M., Setzer, A.: State dependent IO-monads in type theory. Electronic Notes in Theoretical Computer Science 122, 127–146 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  16. Norell, U.: Towards a Practical Programming Language based on Dependent Type Theory. PhD thesis, Chalmers University of Technology (2007)

    Google Scholar 

  17. Petersson, K., Synek, D.: A set constructor for inductive sets in martin-löf’s type theory. In: Dybjer, P., Pitts, A.M., Pitt, D.H., Poigné, A., Rydeheard, D.E. (eds.) Category Theory and Computer Science. LNCS, vol. 389, pp. 128–140. Springer, Heidelberg (1989)

    Chapter  Google Scholar 

  18. Jones, S.P. (ed.): Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)

    MATH  Google Scholar 

  19. Setzer, A.: Guarded recursion in dependent type theory. In: Talk at Agda Implementors Meeting, Göteborg, Sweden, May 2007, vol. 6 (2007)

    Google Scholar 

  20. Setzer, A.: Coalgebras in dependent type theory. In: Talk at Agda Intensive Meeting, Sendai, Japan, November 2008, vol. 9 (2008)

    Google Scholar 

  21. Telford, A., Turner, D.: Ensuring streams flow. In: Johnson, M. (ed.) AMAST 1997. LNCS, vol. 1349, pp. 509–523. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  22. Turner, D.A.: Elementary strong functional programming. In: Hartel, P.H., Plasmeijer, R. (eds.) FPLE 1995. LNCS, vol. 1022, pp. 1–13. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  23. Turner, D.A.: Total functional programming. J. UCS 10(7), 751–768 (2004)

    MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

McBride, C. (2009). Let’s See How Things Unfold: Reconciling the Infinite with the Intensional (Extended Abstract). In: Kurz, A., Lenisa, M., Tarlecki, A. (eds) Algebra and Coalgebra in Computer Science. CALCO 2009. Lecture Notes in Computer Science, vol 5728. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03741-2_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-03741-2_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-03740-5

  • Online ISBN: 978-3-642-03741-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics