Gradual ty** with union and intersection types
G Castagna, V Lanvin - Proceedings of the ACM on Programming …, 2017 - dl.acm.org
We propose a type system for functional languages with gradual types and set-theoretic type
connectives and prove its soundness. In particular, we show how to lift the definition of the …
connectives and prove its soundness. In particular, we show how to lift the definition of the …
On type-cases, union elimination, and occurrence ty**
G Castagna, M Laurent, K Nguyễn… - Proceedings of the ACM on …, 2022 - dl.acm.org
We extend classic union and intersection type systems with a type-case construction and
show that the combination of the union elimination rule of the former and the ty** rules for …
show that the combination of the union elimination rule of the former and the ty** rules for …
Ty** records, maps, and structs
G Castagna - Proceedings of the ACM on Programming Languages, 2023 - dl.acm.org
Records are finite functions from keys to values. In this work we focus on two main distinct
usages of records: structs and maps. The former associate different keys to values of …
usages of records: structs and maps. The former associate different keys to values of …
Julia subty**: a rational reconstruction
Programming languages that support multiple dispatch rely on an expressive notion of
subty** to specify method applicability. In these languages, type annotations on method …
subty** to specify method applicability. In these languages, type annotations on method …
Dependently-typed data plane programming
Programming languages like P4 enable specifying the behavior of network data planes in
software. However, with increasingly powerful and complex applications running in the …
software. However, with increasingly powerful and complex applications running in the …
Set-theoretic types for erlang
Erlang is a functional programming language with dynamic ty**. The language offers
great flexibility for destructing values through pattern matching and dynamic type tests …
great flexibility for destructing values through pattern matching and dynamic type tests …
Set-theoretic types for polymorphic variants
G Castagna, T Petrucciani, K Nguyễn - Proceedings of the 21st ACM …, 2016 - dl.acm.org
Polymorphic variants are a useful feature of the OCaml language whose current definition
and implementation rely on kinding constraints to simulate a subty** relation via …
and implementation rely on kinding constraints to simulate a subty** relation via …
The design principles of the elixir type system
Elixir is a dynamically-typed functional language running on the Erlang Virtual Machine,
designed for building scalable and maintainable applications. Its characteristics have …
designed for building scalable and maintainable applications. Its characteristics have …
Polymorphic functions with set-theoretic types: Part 2: Local type inference and type reconstruction
This article is the second part of a two articles series about the definition of higher order
polymorphic functions in a type system with recursive types and set-theoretic type …
polymorphic functions in a type system with recursive types and set-theoretic type …
Union Types with Disjoint Switches
Union types are nowadays a common feature in many modern programming languages.
This paper investigates a formulation of union types with an elimination construct that …
This paper investigates a formulation of union types with an elimination construct that …