Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore a 15-minute conference presentation from OOPSLA 2025 that introduces type apartness, a novel concept that relaxes strict disjointness constraints in programming languages while maintaining type safety and determinism. Learn how researchers from Princeton University and University of Hong Kong address the fundamental challenge of ambiguity and non-determinism in merge operators when dealing with overlapping types. Discover how type apartness allows controlled overlap for overloaded functions by using calling contexts to disambiguate upcasts in function calls, and understand the incorporation of guarded subtyping to prevent ambiguity during upcasting. Examine the first calculus to simultaneously support function overloading, return type overloading, extensible records, and nested composition while preserving determinism. Gain insights into the formal verification approach using Coq proofs for type soundness and determinism, and explore how type normalization and type difference enhance the flexibility and expressiveness of merge operators in functional and object-oriented programming languages.