Programming in Martin-Lo¨f's type theory: an introduction
Programming in Martin-Lo¨f's type theory: an introduction
Type theory and functional programming
Type theory and functional programming
Closure under alpha-conversion
TYPES '93 Proceedings of the international workshop on Types for proofs and programs
An algorithm for type-checking dependent types
Science of Computer Programming - Special issue on mathematics of program construction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Types and programming languages
Types and programming languages
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
An Implementation of Type: Type
TYPES '00 Selected papers from the International Workshop on Types for Proofs and Programs
TYPES '00 Selected papers from the International Workshop on Types for Proofs and Programs
Journal of Functional Programming
Faking it Simulating dependent types in Haskell
Journal of Functional Programming
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Functional pearl: i am not a number--i am a free variable
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
Epigram: practical programming with dependent types
AFP'04 Proceedings of the 5th international conference on Advanced Functional Programming
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Epic--A library for generating compilers
TFP'11 Proceedings of the 12th international conference on Trends in Functional Programming
Dependently typed programming based on automated theorem proving
MPC'12 Proceedings of the 11th international conference on Mathematics of Program Construction
Hi-index | 0.00 |
We present the type rules for a dependently typed core calculus together with a straight-forward implementation in Haskell. We explicitly highlight the changes necessary to shift from a simply-typed lambda calculus to the dependently typed lambda calculus. We also describe how to extend our core language with data types and write several small example programs. The article is accompanied by an executable interpreter and example code that allows immediate experimentation with the system we describe.