PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Programming in Martin-Lo¨f's type theory: an introduction
Programming in Martin-Lo¨f's type theory: an introduction
A framework for defining logics
Journal of the ACM (JACM)
PolyP—a polytypic programming language extension
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Types and programming languages
Types and programming languages
Using Reflection to Build Efficient and Certified Decision Procedures
TACS '97 Proceedings of the Third International Symposium on Theoretical Aspects of Computer Software
Higher-Order Abstract Syntax in Coq
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
A Finite Axiomatization of Inductive-Recursive Definitions
TLCA '99 Proceedings of the 4th International Conference on Typed Lambda Calculi and Applications
Generic Programming within Dependently Typed Programming
Proceedings of the IFIP TC2/WG2.1 Working Conference on Generic Programming
PTCS '01 Proceedings of the International Seminar on Proof Theory in Computer Science
Monadic Presentations of Lambda Terms Using Generalized Inductive Types
CSL '99 Proceedings of the 13th International Workshop and 8th Annual Conference of the EACSL on Computer Science Logic
System Description: Twelf - A Meta-Logical Framework for Deductive Systems
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
Nominal logic, a first order theory of names and binding
Information and Computation - TACS 2001
Journal of Functional Programming
Scrap your nameplate: (functional pearl)
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Simple unification-based type inference for GADTs
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
A certified type-preserving compiler from lambda calculus to assembly language
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Two-Level Hybrid: A System for Reasoning Using Higher-Order Abstract Syntax
Electronic Notes in Theoretical Computer Science (ENTCS)
Parametric higher-order abstract syntax for mechanized semantics
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Comparing libraries for generic programming in haskell
Proceedings of the first ACM SIGPLAN symposium on Haskell
Proceedings of the ACM SIGPLAN workshop on Generic programming
The Abella Interactive Theorem Prover (System Description)
IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
A universe of binding and computation
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Polytypic properties and proofs in Coq
Proceedings of the 2009 ACM SIGPLAN workshop on Generic programming
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
Ott: Effective tool support for the working semanticist
Journal of Functional Programming
External and internal syntax of the λ-calculus
Journal of Symbolic Computation
Dependently typed programming in Agda
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
Strong Normalization for System F by HOAS on Top of FOAS
LICS '10 Proceedings of the 2010 25th Annual IEEE Symposium on Logic in Computer Science
Mechanized metatheory for the masses: the PoplMark challenge
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Exploring the regular tree types
TYPES'04 Proceedings of the 2004 international conference on Types for Proofs and Programs
Nominal techniques in Isabelle/HOL
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
Generic conversions of abstract syntax representations
Proceedings of the 8th ACM SIGPLAN workshop on Generic programming
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 9th ACM SIGPLAN workshop on Generic programming
Automatically generated infrastructure for de bruijn syntaxes
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.00 |
This paper presents GMeta: a generic framework for first-order representations of variable binding that provides once and for all many of the so-called infrastructure lemmas and definitions required in mechanizations of formal metatheory. The key idea is to employ datatype-generic programming (DGP) and modular programming techniques to deal with the infrastructure overhead. Using a generic universe for representing a large family of object languages we define datatype-generic libraries of infrastructure for first-order representations such as locally nameless or de Bruijn indices. Modules are used to provide templates: a convenient interface between the datatype-generic libraries and the end-users of GMeta. We conducted case studies based on the POPLmark challenge, and showed that dealing with challenging binding constructs, like the ones found in System F, is possible with GMeta. All of GMeta's generic infrastructure is implemented in the Coq theorem prover. Furthermore, due to GMeta's modular design, the libraries can be easily used, extended, and customized by users.