Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
research:software:gradual-unions [2017/05/02 13:56] – [Static and dynamic errors] mtoro | research:software:gradual-unions [2019/06/24 19:09] (current) – etanter | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Gradual Unions: A Gradual Interpretation of Union Types ====== | ====== Gradual Unions: A Gradual Interpretation of Union Types ====== | ||
+ | |||
+ | See [[http:// | ||
Union types allow to capture the possibility of a term to be of several possibly unrelated types. Traditional static approaches to union types are untagged and tagged unions, which present dual advantages in their use. Inspired by recent work on using abstract interpretation to understand gradual typing, we present a novel design for union types, called gradual union types. Gradual union types combine the advantages of tagged and untagged union types, backed by dynamic checks. Seen as a gradual typing discipline, | Union types allow to capture the possibility of a term to be of several possibly unrelated types. Traditional static approaches to union types are untagged and tagged unions, which present dual advantages in their use. Inspired by recent work on using abstract interpretation to understand gradual typing, we present a novel design for union types, called gradual union types. Gradual union types combine the advantages of tagged and untagged union types, backed by dynamic checks. Seen as a gradual typing discipline, | ||
Line 11: | Line 13: | ||
* How to install the prototype implementation of GSEC< | * How to install the prototype implementation of GSEC< | ||
* An overview of the application and a basic presentation of the language syntax. | * An overview of the application and a basic presentation of the language syntax. | ||
- | * Detailed examples | + | * Examples |
+ | An online version of this document can be found [[https:// | ||
===== Installation instructions ===== | ===== Installation instructions ===== | ||
Line 162: | Line 164: | ||
The prototype implementation reports static errors after the " | The prototype implementation reports static errors after the " | ||
- | {{: | + | {{: |
Now let us add an ascription to the boolean value: | Now let us add an ascription to the boolean value: |