Reflections on existential types

10/03/2022
by   Jonathan Sterling, et al.
0

Existential types are reconstructed in terms of small reflective subuniverses and dependent sums. The folklore decomposition detailed here gives rise to a particularly simple account of first-class modules as a mode of use of traditional second-class modules in connection with the modal operator induced by a reflective subuniverse, leading to a semantic justification for the rules of first-class modules in languages like OCaml and MoscowML. Additionally, we expose several constructions that give rise to semantic models of ML-style programming languages with both first-class modules and realistic computational effects, culminating in a model that accommodates higher-order first-class recursive modules and higher-order store.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/09/2021

Native Type Theory

We present a method to construct "native" type systems for a broad class...
research
09/15/2020

Topos Semantics for a Higher-Order Temporal Logic of Actions

TLA is a popular temporal logic for writing stuttering-invariant specifi...
research
10/05/2022

Denotational semantics of general store and polymorphism

We contribute the first denotational semantics of polymorphic dependent ...
research
03/21/2023

A more general categorical framework for congruence of applicative bisimilarity

We prove a general congruence result for bisimilarity in higher-order la...
research
06/06/2022

A Category Theoretic View of Contextual Types: from Simple Types to Dependent Types

We describe the categorical semantics for a simply typed variant and a s...
research
02/25/2011

Universal Higher Order Grammar

We examine the class of languages that can be defined entirely in terms ...
research
03/03/2020

Sealing Pointer-Based Optimizations Behind Pure Functions

Functional programming languages are particularly well-suited for buildi...

Please sign up or login with your details

Forgot password? Click here to reset