EOLANG and $varphi$-calculus

📅 2021-11-26
📈 Citations: 0
Influential: 0
📄 PDF

career value

197K/year
🤖 AI Summary
Object-oriented programming (OOP) has long lacked a unified, computationally grounded, and logically tractable formal foundation comparable to the lambda calculus; existing formal systems fail to fully capture core OO features—inheritance, encapsulation, and polymorphism. Method: We introduce φ-calculus, the first calculi-based formalism fully supporting these features, and design EOLANG—a purely object-oriented language whose sole primitives are object algebraic operations, deliberately omitting functions, variables, and explicit control flow. We develop a formal abstract syntax tree algebra, implement a reference interpreter (in Java/Kotlin) with full operational semantics, and rigorously prove confluence and weak normalization for φ-calculus. Contribution/Results: Our framework enables industrial-scale code modeling and static analysis prototyping, thereby bridging a foundational gap in OOP theory.
📝 Abstract
Object-oriented programming (OOP) is one of the most popular paradigms used for building software systems. However, despite its industrial and academic popularity, OOP is still missing a formal apparatus similar to $lambda$-calculus, which functional programming is based on. There were a number of attempts to formalize OOP, but none of them managed to cover all the features available in modern OO programming languages, such as C++ or Java. We have made yet another attempt and created $varphi$-calculus. We also created EOLANG (also called EO), an experimental programming language based on $varphi$-calculus.
Problem

Research questions and friction points this paper is trying to address.

Lack of formal foundation for OOP like λ-calculus
Existing formalizations miss modern OOP language features
Proposing φ-calculus and EO language to address this gap
Innovation

Methods, ideas, or system contributions that make the work stand out.

Developed $varphi$-calculus for OOP formalization
Created EOLANG based on $varphi$-calculus
Experimental language covering modern OO features
🔎 Similar Papers