Runtime checks as nominal types

Paola Giannini, Marco Servetto, Elena Zucca

Risultato della ricerca: Contributo su rivistaArticolo da conferenzapeer review

Abstract

We propose a language design where types can be enriched by tags corresponding to predicates written by the programmer. For instance, int&positive; is a type, where positive is a user-defined boolean function on integers. Expressions of type int&positive; are obtained by an explicit check construct, analogous to cast, e.g., (positive) 2. In this way, the fact that the value of an expression is guaranteed to succeed a runtime check is a static property which can be controlled by the type system. We formalize our proposal as an extension of the simply-typed lambda calculus, and prove, besides soundness, the fact that expressions of tagged types reduce to values which satisfy the corresponding predicates.

Lingua originaleInglese
pagine (da-a)75-87
Numero di pagine13
RivistaCEUR Workshop Proceedings
Volume1720
Stato di pubblicazionePubblicato - 2016
Evento17th Italian Conference on Theoretical Computer Science, ICTCS 2016 - Lecce, Italy
Durata: 7 set 20169 set 2016

Fingerprint

Entra nei temi di ricerca di 'Runtime checks as nominal types'. Insieme formano una fingerprint unica.

Cita questo