EventsThe 2nd International Online Conference of the Journal Philosophies
Published
This submission belongs to the session GS. General Session of the event The 2nd International Online Conference of the Journal Philosophies
Published date
21 Oct, 2026
Academic Editor
author-avatarMarcin J. Schroeder
Citation
Attila Egri-Nagy, On Understanding Code -- The Algebraic Structure and Interpretation of Computer Programs, in Proceedings of The 2nd International Online Conference of the Journal Philosophies, 26 October–30 October 2026, MDPI: Basel, Switzerland
Share
Email
Facebook
Twitter
LinkedIn

On Understanding Code -- The Algebraic Structure and Interpretation of Computer Programs

image
1. Human & AI Center, Akita International University, Akita-city, 010-1292, Japan
Abstract

What is the meaning of a computer program? As a naive approach, we can run the compiled code and see what it does. A more informed answer would involve looking at the machine code that the reference compiler generates. Ultimately, we want a precise mathematical definition of the semantics of a programming language.

In this talk, we will discuss a special case of denotational (and functorial) semantics. We assign abstract algebraic structures to language features. In particular, we use typed semigroups (semigroupoids/semicategories) to represent computation. This choice is due to the existence of hierarchical decomposition algorithms for these objects. The payoff is a detail-on-demand modular structure facilitating abstraction - the hallmarks of a cognitive tool for understanding. Decomposing a programming language implies the possibility of semi-automated systematic ways of understanding all the programs written in that language. To realize this enormous benefit, we need a special language. We revived and adapted to our purposes a mostly forgotten concatenative functional language originally designed for philosophical purposes. The main idea in the Joy programming language is that the syntactic concatenation of tokens has a morphism into the semantic composition of functions. In the Con-Cat language, we extended this idea to connect it with algebraic automata theory, most notably with the Krohn-Rhodes theory of decompositions. This project is an application of the morphic theory of understanding presented at IOCPh 2025.

By mathematizing the process of understanding computer programs, we aim to maintain and deepen our human knowledge about computation.
Imagining computational processes initiated by formal language expressions is an epistemological challenge. With the progress of agentic AI coding, overcoming this difficulty becomes crucial for retaining human agency.

Links and References

https://codeberg.org/egri-nagy/con-cat - The Git repository of the developed programming language. Documentation also includes a mirror of the unpublished papers on the Joy programming language.

Abelson, H., Sussman, G. J., Sussman, J. (1996). Structure and Interpretation of Computer Programs, Second Edition. MIT Press. - The legendary Lisp programming textbook that put emphasis on the core ideas. The subtitle of this talk is a homage to this book and an indication of our algebraic approach.

Keywords
programming
epistemology
semantics
category theory
abstract algebra
Epistemic matrices: can we model the process of systemic modeling of complex thinking?
Yoga as Epistemic Inquiry: Consciousness and the Integration of Knowledge