Skip to main content

Checking Dependent Types Using Compiled Code

Preliminary Report

  • Conference paper
  • 566 Accesses

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

Abstract

Type checkers for dependent types need to evaluate user defined functions during type checking. For this, current implementations typically use an interpreter, which has drawbacks. We show, how at this stage compiled code can be used for a language with lazy evaluation.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   74.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   99.00
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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Augustsson, L.: Cayenne – a language with dependent types. In: ICFP 1998: Proceedings of the third ACM SIGPLAN International Conference on Functional Programming, pp. 239–250. ACM Press, New York (1998)

    Chapter  Google Scholar 

  2. Grégoire, B., Leroy, X.: A compiled implementation of strong reduction. In: ICFP 2002: Proceedings of the seventh ACM SIGPLAN International Conference on Functional Programming, pp. 235–246. ACM Press, New York (2002)

    Chapter  Google Scholar 

  3. Peyton Jones, S.L.: Implementing lazy functional languages on stock hardware: The spineless tagless G-machine. Journal of Functional Programming 2(2), 127–202 (1992)

    Article  MATH  Google Scholar 

  4. Peyton Jones, S.L.: The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science). Prentice-Hall, Englewood Cliffs (1987)

    Google Scholar 

  5. Grégoire, B.: Compilation des termes de preuves: un (nouveau) mariage entre Coq et Ocaml. Thése de doctorat, spécialité informatique, Université Paris 7, école Polytechnique, France (2003)

    Google Scholar 

  6. Coquand, T.: An algorithm for type-checking dependent types. Science of Computer Programming 26(1-3), 167–177 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  7. Park, D.: Concurrency and automata on infinite sequences. In: Proceedings of the 5th GI-Conference on Theoretical Computer Science, pp. 167–183. Springer, Heidelberg (1981)

    Google Scholar 

  8. Grabmüller, M., Kleeblatt, D.: Harpy: run-time code generation in Haskell. In: Haskell 2007: Proceedings of the ACM SIGPLAN workshop on Haskell workshop, p. 94. ACM, New York (2007)

    Chapter  Google Scholar 

  9. Crégut, P.: An abstract machine for lambda-terms normalization. In: LFP 1990: Proceedings of the 1990 ACM conference on LISP and functional programming, pp. 333–340. ACM Press, New York (1990)

    Chapter  Google Scholar 

  10. Danvy, O.: Type-directed partial evaluation. In: POPL 1996: Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 242–257. ACM Press, New York (1996)

    Chapter  Google Scholar 

  11. Danvy, O.: Online type-directed partial evaluation. In: Fuji International Symposium on Functional and Logic Programming, pp. 271–295 (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Olaf Chitil Zoltán Horváth Viktória Zsók

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kleeblatt, D. (2008). Checking Dependent Types Using Compiled Code. In: Chitil, O., Horváth, Z., Zsók, V. (eds) Implementation and Application of Functional Languages. IFL 2007. Lecture Notes in Computer Science, vol 5083. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-85373-2_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-85373-2_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-85372-5

  • Online ISBN: 978-3-540-85373-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics