Logo

    chapter c

    Explore "chapter c" with insightful episodes like "Church-style Typing and Intersection Types: Glimpses of Benjamin Pierce's Dissertation", "Intersections and Unions in Practice; Failure of Type Preservation with Unions", "Normal terms are typable with intersection types", "Intersection Types Preserved Under Beta-Expansion" and "Introduction to Intersection Types" from podcasts like ""Iowa Type Theory Commute", "Iowa Type Theory Commute", "Iowa Type Theory Commute", "Iowa Type Theory Commute" and "Iowa Type Theory Commute"" and more!

    Episodes (5)

    Intersections and Unions in Practice; Failure of Type Preservation with Unions

    Intersections and Unions in Practice; Failure of Type Preservation with Unions

    I discuss the perhaps surprising fact that union and intersection types are quite actively used and promoted for languages like TypeScript, also OO languages like Scala.  I also try to explain briefly a counterexample to type preservation with union types, which you can find at the start of Section 2 of Barbanera and Dezani-Ciancaglini's paper "Intersection and Union Types: Syntax and Semantics", where it is attributed to Benjamin Pierce.

    Normal terms are typable with intersection types

    Normal terms are typable with intersection types

    I sketch the argument that pure lambda terms in normal form are typable using intersection types.  This completes the argument started in the previous episode, that intersection types are complete for normalizing terms: normal forms are typable, and typing is preserved by beta-expansion.  Hence any normalizing term is typable (since it reduces to a normal form by definition, and from this normal form we can walk typing back to the term).

    Intersection Types Preserved Under Beta-Expansion

    Intersection Types Preserved Under Beta-Expansion

    Type systems usually have the type preservation property: if a typable term beta-reduces, then the resulting term is still typable.  So typing is closed under beta-reduction.  With intersection typing, typing is also closed under beta-expansion, which is a critical step in showing that intersection typing is complete for normalizing terms: any normalizing term can be typed with intersection types (and simple function types).  

    Logo

    © 2024 Podcastworld. All rights reserved

    Stay up to date

    For any inquiries, please email us at hello@podcastworld.io