TinkerType: a language for playing with formal systems

Loading...
Thumbnail Image

Related Collections

Degree type

Discipline

Subject

Funder

Grant number

License

Copyright date

Distributor

Related resources

Author

Levin, Michael Y

Contributor

Abstract

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 λ-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.

Advisor

Date Range for Data Collection (Start Date)

Date Range for Data Collection (End Date)

Digital Object Identifier

Series name and number

Publication date

2003-03-01

Journal title

Volume number

Issue number

Publisher

Publisher DOI

relationships.isJournalIssueOf

Comments

Copyright Cambridge University Press. Reprinted from Journal of Functional Programming, Volume 13, Issue 2, March 2003, pages 295-316.


Copyright Cambridge University Press. Reprinted from Journal of Functional Programming, Volume 13, March 2003, pages 295-316.

Recommended citation

Collection