File Download
Supplementary

postgraduate thesis: Taming intersection types and the merge operator

TitleTaming intersection types and the merge operator
Authors
Issue Date2023
PublisherThe University of Hong Kong (Pokfulam, Hong Kong)
Citation
Huang, X. [黃雪晶]. (2023). Taming intersection types and the merge operator. (Thesis). University of Hong Kong, Pokfulam, Hong Kong SAR.
AbstractFor modern programming languages, a systematic approach for establishing usability and reliability is to first have a formalized and verified core language guarded by a type system. This dissertation proposes a type-directed operational semantics (TDOS) approach to model disjoint intersection types, and studies three calculi 𝜆𝑖, 𝜆𝑖+, and F𝑖+, serving as a new foundation for Compositional Programming. Compositional Programming is a recently proposed programming style. Its prototype language CP supports multiple inheritance in a type-safe way and provides simple solutions to modularity problems that are hard for conventional object-oriented programming and functional programming languages. At the core of CP is F𝑖+ , a polymorphic calculus that supports a symmetric merge operator with subtyping. The merge operator generalizes record concatenation to any type, enabling expressive forms of object composition. Due to its flexibility and ambiguity, the merge operator lacks a satisfying direct operational semantics. Prior systems usually define the runtime semantics indirectly by elaborating the source expressions into a target language. In contrast, the TDOS approach gives a semantics to F𝑖+ directly. Besides being deterministic and type sound, the new calculus supports additional features such as recursion and impredicative polymorphism. As an essential part of the TDOS design, we show a novel algorithm for the subtyping of intersection types with distributive laws. In this formulation, types that decompose into two smaller parts are characterized by splittable types. This allows a simple proof of transitivity and the modular addition of distributivity rules without pre-processing on types. We then extend this idea to union types and present an algorithmic formulation of subtyping based on the minimal relevant logic B+.
DegreeDoctor of Philosophy
SubjectProgramming languages (Electronic computers)
Dept/ProgramComputer Science
Persistent Identifierhttp://hdl.handle.net/10722/325782

 

DC FieldValueLanguage
dc.contributor.authorHuang, Xuejing-
dc.contributor.author黃雪晶-
dc.date.accessioned2023-03-02T16:32:47Z-
dc.date.available2023-03-02T16:32:47Z-
dc.date.issued2023-
dc.identifier.citationHuang, X. [黃雪晶]. (2023). Taming intersection types and the merge operator. (Thesis). University of Hong Kong, Pokfulam, Hong Kong SAR.-
dc.identifier.urihttp://hdl.handle.net/10722/325782-
dc.description.abstractFor modern programming languages, a systematic approach for establishing usability and reliability is to first have a formalized and verified core language guarded by a type system. This dissertation proposes a type-directed operational semantics (TDOS) approach to model disjoint intersection types, and studies three calculi 𝜆𝑖, 𝜆𝑖+, and F𝑖+, serving as a new foundation for Compositional Programming. Compositional Programming is a recently proposed programming style. Its prototype language CP supports multiple inheritance in a type-safe way and provides simple solutions to modularity problems that are hard for conventional object-oriented programming and functional programming languages. At the core of CP is F𝑖+ , a polymorphic calculus that supports a symmetric merge operator with subtyping. The merge operator generalizes record concatenation to any type, enabling expressive forms of object composition. Due to its flexibility and ambiguity, the merge operator lacks a satisfying direct operational semantics. Prior systems usually define the runtime semantics indirectly by elaborating the source expressions into a target language. In contrast, the TDOS approach gives a semantics to F𝑖+ directly. Besides being deterministic and type sound, the new calculus supports additional features such as recursion and impredicative polymorphism. As an essential part of the TDOS design, we show a novel algorithm for the subtyping of intersection types with distributive laws. In this formulation, types that decompose into two smaller parts are characterized by splittable types. This allows a simple proof of transitivity and the modular addition of distributivity rules without pre-processing on types. We then extend this idea to union types and present an algorithmic formulation of subtyping based on the minimal relevant logic B+.-
dc.languageeng-
dc.publisherThe University of Hong Kong (Pokfulam, Hong Kong)-
dc.relation.ispartofHKU Theses Online (HKUTO)-
dc.rightsThe author retains all proprietary rights, (such as patent rights) and the right to use in future works.-
dc.rightsThis work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.-
dc.subject.lcshProgramming languages (Electronic computers)-
dc.titleTaming intersection types and the merge operator-
dc.typePG_Thesis-
dc.description.thesisnameDoctor of Philosophy-
dc.description.thesislevelDoctoral-
dc.description.thesisdisciplineComputer Science-
dc.description.naturepublished_or_final_version-
dc.date.hkucongregation2023-
dc.identifier.mmsid991044649901903414-

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats