Skip to main content

Advertisement

SpringerLink
  • Log in
Book cover

Exploring New Frontiers of Theoretical Informatics pp 437–450Cite as

  1. Home
  2. Exploring New Frontiers of Theoretical Informatics
  3. Conference paper
Dynamic Typing with Dependent Types

Dynamic Typing with Dependent Types

  • Xinming Ou4,
  • Gang Tan4,
  • Yitzhak Mandelbaum4 &
  • …
  • David Walker4 
  • Conference paper
  • 588 Accesses

  • 37 Citations

Part of the IFIP International Federation for Information Processing book series (IFIPAICT,volume 155)

Abstract

Dependent type systems are promising tools programmers can use to increase the reliability and security of their programs. Unfortunately, dependently-typed programming languages require programmers to annotate their programs with many typing specifications to help guide the type checker. This paper shows how to make the process of programming with dependent types more palatable by defining a language in which programmers have fine-grained control over the trade-off between the number of dependent typing annotations they must place on programs and the degree of compile-time safety. More specifically, certain program fragments are marked dependent, in which case the programmer annotates them in detail and a dependent type checker verifies them at compile time. Other fragments are marked simple, in which case they may be annotation-free and dependent constraints are verified at run time.

Download conference paper PDF

References

  1. Martín Abadi, Luca Cardelli, Benjamin C. Pierce, and Gordon Plotkin. Dynamic typing in a statically typed language. ACM Transactions on Programming Languages and Systems, 13(2):237–268, April 1991.

    CrossRef  Google Scholar 

  2. Alex Aiken, Edward L. Wimmers, and T. K. Lakshman. Soft typing with conditional types. In Twenty-First ACM Symposium on Principles of Programming Languages, pages 163–173, January 1994.

    Google Scholar 

  3. R. Cartwright and M. Fagan. Soft typing. In ACM Conference on Programming Language Design and Implementation, pages 278–292, 1991.

    Google Scholar 

  4. R. Cartwright and M. Fagan. A practical soft type system for Scheme. ACM transactions on programming languages and systems, 19(1):87–152, January 1997.

    Google Scholar 

  5. Rob Deline and Manuel Fähndrich. Enforcinghigh-level protocols in low-level software. In ACM Conference on Programming Language Design and Implementation, pages 59–69, Snowbird, Utah, June 2001. ACM Press.

    Google Scholar 

  6. Robert Bruce Findler and Matthias Felleisen. Contracts for higher-order functions. In ACM International Conference on Functional Programming, pages 48–59, Pittsburgh, October 2002. ACM Press.

    Google Scholar 

  7. Robert Harper and Mark Lillibridge. A type-theoretic approach to higher-order modules with sharing. In Twenty-First ACM Symposium on Principles of Programming Languages, pages 123–137, Portland, OR, January 1994.

    Google Scholar 

  8. George C. Necula, Scott McPeak, and Westley Weimer. Ccured: Type-safe retrofitting of legacy code. In ACM Symposium on Principles of Programming Languages, London, January 2002. ACM Press.

    Google Scholar 

  9. Xinming Ou, Gang Tan, Yitzhak Mandelbaum, and David Walker. Dynamic typing with dependent types. Technical Report TR-695-04, Department of Computer Science, Princeton University, 2004.

    Google Scholar 

  10. S. Thatte. Quasi-static typing. In Seventeenth ACM Symposium on Principles of Programming Languages, pages 367–381, January 1990.

    Google Scholar 

  11. David Walker. A type system for expressive security policies. In Twenty-Seventh ACM Symposium on Principles of Programming Languages, pages 254–267, Boston, January 2000.

    Google Scholar 

  12. Hongwei Xi and Frank Pfenning. Eliminating array bound checking through dependent types. In ACM Conference on Programming Language Design and Implementation, pages 249–257, Montreal, June 1998.

    Google Scholar 

  13. Christoph Zenger. Indexed types. In Theoretical Computer Science, volume 187, pages 147–165. Elsevier, November 1997.

    CrossRef  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

  1. Department of Computer Science, Princeton University, USA

    Xinming Ou, Gang Tan, Yitzhak Mandelbaum & David Walker

Authors
  1. Xinming Ou
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. Gang Tan
    View author publications

    You can also search for this author in PubMed Google Scholar

  3. Yitzhak Mandelbaum
    View author publications

    You can also search for this author in PubMed Google Scholar

  4. David Walker
    View author publications

    You can also search for this author in PubMed Google Scholar

Editor information

Editors and Affiliations

  1. INRIA, France

    Jean-Jacques Levy

  2. Technische Universität München, Germany

    Ernst W. Mayr

  3. Stanford University, USA

    John C. Mitchell

Rights and permissions

Reprints and Permissions

Copyright information

© 2004 Springer Science + Business Media, Inc.

About this paper

Cite this paper

Ou, X., Tan, G., Mandelbaum, Y., Walker, D. (2004). Dynamic Typing with Dependent Types. In: Levy, JJ., Mayr, E.W., Mitchell, J.C. (eds) Exploring New Frontiers of Theoretical Informatics. IFIP International Federation for Information Processing, vol 155. Springer, Boston, MA. https://doi.org/10.1007/1-4020-8141-3_34

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/1-4020-8141-3_34

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4020-8140-8

  • Online ISBN: 978-1-4020-8141-5

  • eBook Packages: Springer Book Archive

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Over 10 million scientific documents at your fingertips

Switch Edition
  • Academic Edition
  • Corporate Edition
  • Home
  • Impressum
  • Legal information
  • Privacy statement
  • California Privacy Statement
  • How we use cookies
  • Manage cookies/Do not sell my data
  • Accessibility
  • FAQ
  • Contact us
  • Affiliate program

Not logged in - 44.200.168.16

Not affiliated

Springer Nature

© 2023 Springer Nature Switzerland AG. Part of Springer Nature.