Blog
1 week ago
Rethinking OOP Through Dependent Types and Codata
This article explores how object-oriented programming evolves in a dependently typed setting by reinterpreting methods as codata observations with self-parameters. It shows how this approach enables verified interfaces, separates intrinsic and extrinsic verification styles, and redefines function and pair types as user-defined codata. By examining Π- and Σ-types, existential encodings, and codata representations of natural numbers, the work argues for a simplified core language where dependent expressiveness emerges from structured codata design.
Source: HackerNoon →