Functors are Type Refinement Systems

Abstract : The standard reading of type theory through the lens of category theory is based on the idea of viewing a type system as a category of well-typed terms. We propose a basic revision of this reading: rather than interpreting type systems as categories, we describe them as functors from a category of typing derivations to a category of underlying terms. Then, turning this around, we explain how in fact any functor gives rise to a generalized type system, with an abstract notion of typing judgment, typing derivations and typing rules. This leads to a purely categorical reformulation of various natural classes of type systems as natural classes of functors. The main purpose of this paper is to describe the general framework (which can also be seen as providing a categorical analysis of refinement types), and to present a few applications. As a larger case study, we revisit Reynolds' paper on "The Meaning of Types" (2000), showing how the paper's main results may be reconstructed along these lines.
Document type :
Conference papers
Complete list of metadatas

Cited literature [30 references]  Display  Hide  Download

https://hal.inria.fr/hal-01096910
Contributor : Noam Zeilberger <>
Submitted on : Thursday, December 18, 2014 - 2:32:12 PM
Last modification on : Friday, January 4, 2019 - 5:32:59 PM
Long-term archiving on: Monday, March 23, 2015 - 4:44:00 PM

File

funts.pdf
Files produced by the author(s)

Licence


Copyright

Identifiers

Collections

Citation

Paul-André Melliès, Noam Zeilberger. Functors are Type Refinement Systems. 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2015), Jan 2015, Mumbai, India. ⟨10.1145/2676726.2676970⟩. ⟨hal-01096910⟩

Share

Metrics

Record views

619

Files downloads

513