Type inference gives programmers the benefit of static, compile-time type checking without the cost of manually specifying types, and has long been a standard feature of functional programming languages. However, it has proven difficult to integrate type inference with subtyping, since the unification engine at the core of classical type inference accepts only equations, not subtyping constraints.
This thesis presents a type system combining ML-style parametric polymorphism and subtyping, with type inference, principal types, and decidable type subsumption. Type inference is based on biunification, an analogue of unification that works with subtyping constraints.
- Multicore OCaml ARM64 Backend
- Cambio, OCaml and Karaoke at the MirageOS Marrakech Hack Retreat 2017
- Using Menhir to Build Grammar Attributes
- OCaml 4.04.1 Released
- Parsing the Email Standard with TypeBeat
- An OCaml Backend for Agda with Malfunctional Programming
- Databox Open-Source Software Community Launch
- Composable Builds for OCaml with Jbuilder
- MirageOS Hack Updates
- Databox Launch Event: 24th March, Cambridge