PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
Semantics of programming languages: structures and techniques
Semantics of programming languages: structures and techniques
Action semantics
A framework for defining logics
Journal of the ACM (JACM)
Handbook of logic in computer science (vol. 2)
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Building interpreters by composing monads
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Bounded quantification is undecidable
Information and Computation
Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantic Lego
Foundations of programming languages
Foundations of programming languages
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Type inference with constrained types
Theory and Practice of Object Systems - Special issue on foundations of object-oriented languages
Recursive subtyping revealed: (functional pearl)
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
A correspondence between ALGOL 60 and Church's Lambda-notations: Part II
Communications of the ACM
The next 700 programming languages
Communications of the ACM
A Theory of Objects
Modular Denotational Semantics for Compiler Construction
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
Proceedings of the Carnegie Mellon Workshop on Logic of Programs
Abstract Syntax and Variable Binding
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Modular Compilers Based on Monad Transformers
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Feature oriented-programming: back to the future
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Ott: effective tool support for the working semanticist
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Strategies for Solving Constraints in Type and Effect Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Implicit Propagation in Structural Operational Semantics
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 8th international workshop on Specification and verification of component-based systems
Ott: Effective tool support for the working semanticist
Journal of Functional Programming
Formally specified type checkers for domain specific languages: experience report
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Component-based description of programming languages
VoCS'08 Proceedings of the 2008 international conference on Visions of Computer Science: BCS International Academic Conference
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
TeJaS: retrofitting type systems for JavaScript
Proceedings of the 9th symposium on Dynamic languages
Hi-index | 0.00 |
TinkerType is a pragmatic framework for compact and modular description of formal systems (type systems, operational semantics, logics, etc.). A family of related systems is broken down into a set of clauses – individual inference rules – and a set of features controlling the inclusion of clauses in particular systems. Simple static checks are used to help maintain consistency of the generated systems. We present TinkerType and its implementation and describe its application to two substantial repositories of typed lambda-calculi. The first repository covers a broad range of typing features, including subtyping, polymorphism, type operators and kinding, computational effects, and dependent types. It describes both declarative and algorithmic aspects of the systems, and can be used with our tool, the TinkerType Assembler, to generate calculi either in the form of typeset collections of inference rules or as executable ML typecheckers. The second repository addresses a smaller collection of systems, and provides modularized proofs of basic safety properties.