A simpler encoding of indexed types

03/29/2021
by   Tesla Zhang, et al.
0

In functional programming languages, generalized algebraic data types (GADTs) are very useful as the unnecessary pattern matching over them can be ruled out by the failure of unification of type arguments. In dependent type systems, this is usually called indexed types and it's particularly useful as the identity type is a special case of it. However, pattern matching over indexed types is very complicated as it requires term unification in general. We study a simplified version of indexed types (called simpler indexed types) where we explicitly specify the selection process of constructors, and we discuss its expressiveness, limitations, and properties.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/21/2023

The Undecidability of Third Order Pattern Matching in Calculi with Dependent Types or Type Constructors

We prove the undecidability of the third order pattern matching problem ...
research
07/05/2022

Implementing Dependent Types in pi-forall

These lecture notes describe the design of a minimal dependently-typed l...
research
03/03/2020

Sealing Pointer-Based Optimizations Behind Pure Functions

Functional programming languages are particularly well-suited for buildi...
research
11/15/2020

Coming to Terms with Your Choices: An Existential Take on Dependent Types

Type-level programming is an increasingly popular way to obtain addition...
research
08/21/2023

Typing Composable Coroutines

Coroutine, as a powerful programming construct, is widely used in asynch...
research
05/16/2019

First-Class Subtypes

First class type equalities, in the form of generalized algebraic data t...
research
09/15/2022

A case for DOT: Theoretical Foundations for Objects With Pattern Matching and GADT-style Reasoning

Many programming languages in the OO tradition now support pattern match...

Please sign up or login with your details

Forgot password? Click here to reset