LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system for Java bytecode subroutines
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Eliminating array bound checking through dependent types
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
A sound type system for secure flow analysis
Journal of Computer Security
MetaML and multi-stage programming with explicit annotations
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
Secure calling contexts for stack inspection
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
Template meta-programming for Haskell
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell
Parametricity and Unboxing with Unpointed Types
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
MLF: raising ML to the power of system F
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
An extension of HM(X) with bounded existential and universal data-types
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Meta-programming through typeful code representation
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Closed types for a safe imperative MetaML
Journal of Functional Programming
Journal of Functional Programming
Language-based information-flow security
IEEE Journal on Selected Areas in Communications
Combining programming with theorem proving
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
Generalized algebraic data types and object-oriented programming
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Stratified type inference for generalized algebraic data types
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polymorphic typed defunctionalization and concretization
Higher-Order and Symbolic Computation
Simple unification-based type inference for GADTs
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Modular development of certified program verifiers with a proof assistant
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Extended static checking for haskell
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
Assimilating MetaBorg:: embedding language tools in languages
Proceedings of the 5th international conference on Generative programming and component engineering
Roadmap for enhanced languages and methods to aid verification
Proceedings of the 5th international conference on Generative programming and component engineering
A constraint-based approach to guarded algebraic data types
ACM Transactions on Programming Languages and Systems (TOPLAS)
System F with type equality coercions
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Dependent ML An approach to practical programming with dependent types
Journal of Functional Programming
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
A certified type-preserving compiler from lambda calculus to assembly language
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Type-level Computation Using Narrowing in Ωmega
Electronic Notes in Theoretical Computer Science (ENTCS)
Type checking with open type functions
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Ynot: dependent types for imperative programs
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Not all patterns, but enough: an automatic verifier for partial but sufficient pattern matching
Proceedings of the first ACM SIGPLAN symposium on Haskell
Shared subtypes: subtyping recursive parametrized algebraic data types
Proceedings of the first ACM SIGPLAN symposium on Haskell
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Static contract checking for Haskell
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A foundation for flow-based program matching: using temporal logic and model checking
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 3rd workshop on Programming languages meets program verification
Proceedings of the 3rd workshop on Programming languages meets program verification
Towards type-theoretic semantics for transactional concurrency
Proceedings of the 4th international workshop on Types in language design and implementation
Modular development of certified program verifiers with a proof assistant1,2
Journal of Functional Programming
Hoare type theory, polymorphism and separation1
Journal of Functional Programming
Towards Efficient, Typed LR Parsers
Electronic Notes in Theoretical Computer Science (ENTCS)
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Erasure and polymorphism in pure type systems
FOSSACS'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Foundations of software science and computational structures
Ur: statically-typed metaprogramming with type-level record computation
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Fundamenta Informaticae - Dependently Typed Programming
HyperGraphDB: a generalized graph database
WAIM'10 Proceedings of the 2010 international conference on Web-age information management
Strongly Typed Term Representations in Coq
Journal of Automated Reasoning
Hi-index | 0.00 |
This paper explores a new point in the design space of formal reasoning systems - part programming language, part logical framework. The system is built on a programming language where the user expresses equality constraints between types and the type checker then enforces these constraints. This simple extension to the type system allows the programmer to describe properties of his program in the types of witness objects which can be thought of as concrete evidence that the program has the property desired. These techniques and two other rich typing mechanisms, rank-N polymorphism and extensible kinds, create a powerful new programming idiom for writing programs whose types enforce semantic properties. This kind of synthesis between a practical programming language and a logic creates a foundation for the design of languages of the future.