
TL;DR
Inheritance-calculus introduces a unified, set-based approach to modeling inheritance in declarative programming, simplifying composition and extending the lambda calculus's expressiveness.
Contribution
It presents a first-order, denotational semantics for inheritance-calculus, demonstrating its advantages over traditional lambda calculus and practical implementation insights.
Findings
Models inheritance as set union, simplifying composition
Semantics is first-order, denotational, and computable even with cyclic hierarchies
Inheritance-calculus is more expressive than lambda calculus
Abstract
Just as the -calculus uses three primitives (abstraction, application, variable) as the foundation of functional programming, inheritance-calculus uses three primitives (record, definition, inheritance) as the foundation of declarative programming. By unifying modules, classes, objects, methods, fields, and locals under a single record abstraction, the calculus models inheritance simply as set union. Consequently, composition is inherently commutative, idempotent, and associative, structurally eliminating the multiple-inheritance linearization problem. Its semantics is first-order~\cite{vanemden1976-predicate-logic-semantics, reynolds1972-definitional-interpreters, aczel1977-inductive-definitions}, denotational, and computable by tabling~\cite{tamaki1986-tabled-resolution}, even for cyclic inheritance hierarchies. These three properties extend to the -calculus, since…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
