This project explores a deliberately unusual idea: a programming language grounded entirely in the mathematical and logical worldview available at the time of Plato (4th century BCE), and a practical demonstration of how such a language can still run on a modern computer.
The language is called Λόγος (Lógos). It is not a conventional programming language and is intentionally not Turing-complete. Instead of modeling computation as state changes over time, Λόγος models computation as recognition of form and derivation by law.
The accompanying web server, Ἱστός (Istos), is a minimal real-world bridge: it shows how a Platonic specification can govern real HTTP behavior without smuggling modern control flow into the language itself.
Λόγος is a declarative, ontological language inspired by:
- Plato's theory of Forms
- Pre-Aristotelian logic
- Greek arithmetic and geometry
- Finite, total reasoning
Λόγος rejects many assumptions common in modern programming:
- No mutable variables
- No unbounded loops
- No general recursion
- No arbitrary functions
- No Boolean algebra
- No infinite sets
Instead, it works with forms, kinds, definitions, and laws of correspondence.
In Λόγος:
- You do not execute code
- You declare what exists
- Consequences follow by necessity, not by control flow
Everything in Λόγος is described as a kind (γένος) or a form (εἶδος). Kinds are ontological categories; Forms are particular things that exist within a Kind.
γένος Αἴτημα # declare a Kind: Request
εἶδος Ρίζα_Αἴτημα : Αἴτημα # declare a Form belonging to that Kind
A form may have testimony associated with it: what is said or shown when that form appears.
μαρτυρεῖ Ἀπόκρισις_Ῥίζα "καλῶς ἥκεις"
This replaces the idea of output or side effects.
A law of correspondence declares that when one form appears, another necessarily follows.
νόμος ἀντιστοιχίας
"/" → Ρίζα_Αἴτημα → Ἀπόκρισις_Ῥίζα
τέλος
There is no conditional branching. The law is total and timeless.
All valid inputs must be known in advance.
- There are no "unknown cases" inside the language
- Errors are failures of recognition, not runtime events
Λόγος intentionally excludes the mechanisms that lead to unbounded computation:
- No while-loops
- No general recursion
- No mutation
This aligns with Plato's rejection of the apeiron (the indefinite or infinite).
As a result, Λόγος is:
- Fully analyzable
- Provably total
- Philosophically coherent
It models knowledge as discovery, not computation as process.
eidos/
istos.logos # The Λόγος specification (source of truth)
istos_host.py # Runtime bridge (HTTP server)
eidos.ipynb # Interactive Jupyter notebook exploration
requirements.txt # Python dependencies
README.md
logos/ # Λόγος language toolkit
__init__.py
types.py # Ontological types (frozen dataclasses)
lexer.py # Tokenizer (Unicode-aware)
parser.py # Recognizer (builds LogosSpec from tokens)
verify.py # Static verification as philosophical propositions
visualize.py # Graphviz ontology and correspondence diagrams
dialectic.py # Socratic dialogue generator
| Module | Purpose |
|---|---|
types.py |
Immutable dataclasses: Genos, Eidos, Martyria, LogosSpec, etc. |
lexer.py |
Tokenizes .logos files. Handles Greek polytonic Unicode, → arrows, : kind membership. |
parser.py |
Recognizes (does not execute) the token stream into a LogosSpec. |
verify.py |
Six verification checks expressed as philosophical propositions. |
visualize.py |
Graphviz diagrams of the ontology and law of correspondence. |
dialectic.py |
Generates a Socratic dialectic from the specification — four phases of the elenchus. |
A modern web server is typically described as:
- An infinite loop
- Listening for requests
- Branching on paths
- Mutating state
None of these concepts are permitted inside Λόγος.
Instead, Istos treats a web server as:
A place where petitions appear, are recognized as kinds, and answered according to law.
The server loads istos.logos through the parser at startup. It runs all six verifications and prints the results. Then it listens for petitions and answers according to the law of correspondence. Unrecognized petitions receive οὐκ ἔστιν — "it is not."
The notebook eidos.ipynb is an interactive exploration that weaves together:
- The Specification — displayed with rich formatting and parsed live
- The Ontology — visualized as Graphviz diagrams showing Kind → Form → Testimony
- Verification (Ἀλήθεια) — philosophical propositions tested against the spec
- The Living Server — started in-notebook with interactive petitioning
- Socratic Dialectic (Διαλεκτική) — a four-phase elenchus generated from the ontology
- Geometric Reasoning — a preview of Euclidean Forms as Λόγος objects
- Python 3.9+
- Graphviz system binary (
brew install graphvizon macOS)
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtpython istos_host.pyThen visit:
- http://localhost:8002/
- http://localhost:8002/chaire
- http://localhost:8002/about
- http://localhost:8002/philosophia
jupyter notebook eidos.ipynb| Keyword | Greek | Syntax | Meaning |
|---|---|---|---|
| Place | τόπος | τόπος Name |
Declares a place (namespace) |
| Kind | γένος | γένος Name |
Declares an ontological category |
| Form | εἶδος | εἶδος Name or εἶδος Name : Kind |
Declares a form, optionally in a kind |
| Testimony | μαρτυρεῖ | μαρτυρεῖ Form "text" |
What a form says when it appears |
| Law | νόμος ἀντιστοιχίας | Block: "path" → Request → Response |
Total mapping from paths to forms |
| End | τέλος | Closes a νόμος block |
Both Greek and romanized keywords are accepted by the parser.
This project demonstrates:
- That computation does not have to be procedural
- That modern infrastructure can host non-modern semantics
- That philosophical constraints can meaningfully shape software
It is both:
- A thought experiment
- A working system
Possible extensions that remain philosophically consistent:
- Aristotelian Extension — limited state and causality with ontological grounding
- Multiple Places (τόποι) — compose several Platonic servers with shared laws
- Geometric Laws — Euclidean constructions as derivation rules, not just definitions
- Formal Proof — machine-verified totality and consistency proofs
Λόγος is not intended to replace modern programming languages.
It is intended to ask — and partially answer — a different question:
What would software look like if it were built on ancient assumptions about truth, knowledge, and form?
This project is one concrete answer.