activity
20112024
most citedOn Global Types and Multi-Party Session

102 citations · 202 across the 10 of their papers we have counts for

collaborators

11 papers

cs.PL2024★ 1 cited

Polymorphic Records for Dynamic Languages

Giuseppe Castagna, Loïc Peyrot

We define and study "row polymorphism" for a type system with set-theoretic types, specifically union, intersection, and negation types. We consider record types that embed row var…

cs.PL2023★ 13 cited

Polymorphic Type Inference for Dynamic Languages

Giuseppe Castagna, Mickaël Laurent, Kim Nguyen

We present a type system that combines, in a controlled way, first-order polymorphism with intersectiontypes, union types, and subtyping, and prove its safety. We then define a typ…

cs.PL2023★ 9 cited

The Design Principles of the Elixir Type System

Giuseppe Castagna, Guillaume Duboc, José Valim

Elixir is a dynamically-typed functional language running on the Erlang Virtual Machine, designed for building scalable and maintainable applications. Its characteristics have earn…

cs.PL2021★ 9 cited

Programming with union, intersection, and negation types

Giuseppe Castagna

In this essay, I present the advantages and, I dare say, the beauty of programming in a language with set-theoretic types, that is, types that include union, intersection, and nega…

cs.PL2019★ 1 cited

Revisiting Occurrence Typing

Giuseppe Castagna, Victor Lanvin, Mickaël Laurent +1

We revisit occurrence typing, a technique to refine the type of variables occurring in type-cases and, thus, capturesome programming patterns used in untyped languages. Although oc…

cs.PL2018★ 3 cited

Semantic subtyping for non-strict languages

Tommaso Petrucciani, Giuseppe Castagna, Davide Ancona +1

Semantic subtyping is an approach to define subtyping relations for type systems featuring union and intersection type connectives. It has been studied only for strict languages, a…