skip to main content
keynote

Agda-curious?: an exploration of programming with dependent types

Published:09 September 2012Publication History
Skip Abstract Section

Abstract

I explore programming with the dependently typed functional language, AGDA. I present the progress which AGDA has made, demonstrate its usage in a small development, reflect critically on the state of the art, and speculate about the way ahead. I do not seek to persuade you to adopt AGDA as your primary tool for systems development, but argue that AGDA stimulates new useful ways to think about programming problems and deserves not just curiosity but interest, support and contribution.

References

  1. A. Abel and T. Altenkirch. A predicative analysis of structural recursion. phJ. Funct. Program., 12 (1): 1--41, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Bove and P. Dybjer. Dependent types at work. In A. Bove, L. S. Barbosa, A. Pardo, and J. S. Pinto, editors, phLerNet ALFA Summer School, volume 5520 of phLecture Notes in Computer Science, pages 57--99. Springer, 2008. ISBN 978--3--642-03152--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. Damas and R. Milner. Principal type-schemes for functional programs. In R. A. DeMillo, editor, phPOPL, pages 207--212. ACM Press, 1982. ISBN 0--89791-065--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. C. S. Lee, N. D. Jones, and A. M. Ben-Amram. The size-change principle for program termination. In C. Hankin and D. Schmidt, editors, phPOPL, pages 81--92. ACM, 2001. ISBN 1--58113--336--7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. McKinna and J. Wright. A type-correct, stack-safe, provably correct, expression compiler in epigram. Submitted to the Journal of Functional Programming, 2006.Google ScholarGoogle Scholar
  6. U. Norell. phTowards a Practical Programming Language based on Dependent Type Theory. PhD thesis, Chalmers University of Technology, 2007.Google ScholarGoogle Scholar
  7. U. Norell. Dependently Typed Programming in Agda. In P. W. M. Koopman, R. Plasmeijer, and S. D. Swierstra, editors, phAdvanced Functional Programming, volume 5832 of phLNCS, pages 230--266. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. A. Turner. Total functional programming. phJ. UCS, 10 (7): 751--768, 2004.Google ScholarGoogle Scholar
  9. }DBLP:conf/tldi/YorgeyWCJVM12B. A. Yorgey, S. Weirich, J. Cretin, S. L. P. Jones, D. Vytiniotis, and J. P. Magalh\ aes. Giving haskell a promotion. In B. C. Pierce, editor, phTLDI, pages 53--66. ACM, 2012. ISBN 978--1--4503--1120--5. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Agda-curious?: an exploration of programming with dependent types

      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

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 47, Issue 9
        ICFP '12
        September 2012
        368 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2398856
        Issue’s Table of Contents
        • cover image ACM Conferences
          ICFP '12: Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
          September 2012
          392 pages
          ISBN:9781450310543
          DOI:10.1145/2364527

        Copyright © 2012 Copyright is held by the owner/author(s)

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 9 September 2012

        Check for updates

        Author Tags

        Qualifiers

        • keynote

      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!