Skip to main content
QUICK REVIEW

[논문 리뷰] A Calculus of Inheritance

Bo Yang|arXiv (Cornell University)|2026. 02. 18.
Logic, programming, and type systems인용 수 0
한 줄 요약

Inheritance-calculus는 세 가지 기초 원리(record, definition, inheritance)를 가진 최소한의 선언형 프로그래밍 모델로, 람다 계산을 자명하게 포함시키고, Böhm-tree 등가를 갖는 게으른 람다 계산에 대해 완전한 추상적이고 집합론적 의미론을 산출하며, 람다-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 Böhm tree equivalence~\cite{barendregt1984-lambda-calculus} is fully abstract for the first-iteration approximation of a sublanguage of inheritance-calculus. As a corollary, this establishes a convergence hierarchy $ ext{eager} \subsetneq ext{lazy} \subsetneq ext{fixpoint}$ among $λ$-calculi sharing the same $λ$-syntax. Inheritance-calculus is distilled from MIXINv2, a practical implementation in which the same code acts as different function colors~\cite{nystrom2015-function-color}; ordinary arithmetic yields the relational semantics of logic programming~\cite{vanemden1976-predicate-logic-semantics}; $\mathtt{this}$ resolves to multiple targets; and programs are immune to nonextensibility in the sense of the Expression Problem~\cite{wadler1998-expression-problem}. This makes inheritance-calculus strictly more expressive than the $λ$-calculus in both common sense and Felleisen's sense~\cite{felleisen1991-expressive-power}.

연구 동기 및 목표

  • NixOS와 MIXINv2 같은 실무 시스템으로부터 영감을 받아 선언형/구성 언어를 위한 최소 계산 모델을 동기화한다.
  • 세 가지 기초 원리(record, definition, inheritance)가 함수 없이도 집합론적 의미론을 통해 재귀를 가능하게 하는 언어를 제공한다.
  • 이 계산이 람다 계산을 포함시키고 Felleisen의 관점에서 엄격히 더 표현력이 있음을 보여준다.
  • 유한하고 종결하는 mixin-tree 방정식들을 사용한 관찰자 주도적 의미론으로 게으른 평가에 대한 완전 추상성을 제공한다.
  • Nat 산술과 같은 사례 연구를 통해 관계적 의미론 등 실용적 현상을 보여준다.

제안 방법

  • 경로에 걸친 속성, 상위 속성, 재정의, 기초, 해결, 그리고 this를 계산하는 여섯 개의 상호 재귀적 집합-컴프리헨션 방정식을 정의한다.
  • 리디렉션이 없는 감소 규칙이나 평가 순서를 가지지 않는 깊게 병합 가능하고 교환적이며 멱등적이고 결합적인 구조로 mixin 트리를 형식화한다.
  • ANF로부터의 다섯 규칙 번역을 통해 람다-calculus를 inheritance-calculus에 삽입시키되 의미를 보존한다.
  • 닫힌 ANF 람다항이 mixin-tree 의미론에서 수렴할 때에만 머리 정상형(head normal form)을 갖는지의 충분성(adquacy)을 증명한다.
  • 람다-맥락에 의한 동치가 번역 하에서 Böhm-tree 동치와 일치하고, 상속-맥락은 더 많은 항들을 구별할 수 있음을 보임으로써 완전 추상성을 증명한다.
  • 전통적인 작동/도메인 이론 기구를 피하는 관찰적이고 집합론적 의미론을 제시한다.

실험 결과

연구 질문

  • RQ1inheritance-calculus가 람다-계산의 표현력을 상회하거나 동일한 선언적 프로그래밍의 최소 기능 기반으로 쓰일 수 있는가?
  • RQ2람다-calculus에서 inheritance-calculus로의 번역이 Böhm-tree 등가성에 대해 완전 추상성을 산출하는가?
  • RQ3MIXINv2에서 관찰되는 개방 확장과 관계적 의미론과 같은 실용적 특징이 람다-계산을 넘어서는 표현력을 확장하는가?
  • RQ4고정점 구성 없이도 중첩된 상속, 자기참조, 표현 문제를 나타낼 수 있는가?
  • RQ5Pure set-theoretic 의미론 설정에서 게으른 평가와 관찰자 주도 계산의 함의는 무엇인가?

주요 결과

  • 이 계산은 세 가지 기초 원리(record, definition, inheritance)와 함수나 let-바인딩이 전혀 없다는 점이다.
  • inheritance는 본질적으로 교환적이고 멱등적이며 결합적이어서 다중 상속의 선형화 문제를 제거한다.
  • 람다-calculus가 inheritance-calculus로 내재되며, lambda-definable 맥락에 대해 Böhm-tree 등가성에 대해 완전 추상적 임베딩이 된다.
  • 유발된 의미론은 순수한 집합론 내에서 완전 추상적이며, 추가적인 도메인 이론 기구를 피한다.
  • open extension 및 Expression Problem을 통해 Felleisen의 관점에서 람다-계산보다 더 표현력이 있음을 보여준다.
  • 사례 연구(예: Nat 산술)는 관계적 의미론과 함수-색채 맹목성, 비확장성 면역성과 같은 다른 현상들을 보여준다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.