Theia is a full-stack, dataflow-oriented programming language that unifies database modeling, backend server functions, and reactive frontend user interfaces in a single end-to-end type-safe system.
The project includes Theia Studio, an interactive visual Web Builder platform in the browser that allows users to create, customize, and publish websites using the Theia language compiler.
- Single Source of Truth: A single .theia file defines data models, server functions, and reactive client components.
- Language-Integrated Query: Native relational database queries without ORM or raw SQL strings.
- Fine-Grained Reactivity: Native Signal and Store reactivity without Virtual DOM overhead.
- Strict Type Safety: Explicit null safety, Result<T, E> error handling with try operator, and deferred memory cleanup.
- Theia Studio: Visual drag-and-drop web builder with two-way code synchronization and one-click live publishing.
python main.py studioAccess the Studio Dashboard at: http://localhost:3030
python main.py dev examples/news_portal.theiaAccess the Live Application at: http://localhost:8000
python main.py test examples/ecommerce.theiaNew Lang/
├── theia/ # Core Compiler Package & Studio Engine
│ ├── tokens.py # Token definitions
│ ├── lexer.py # Lexical analyzer
│ ├── ast_nodes.py # Abstract Syntax Tree node definitions
│ ├── parser.py # Recursive descent parser
│ ├── type_checker.py # Static semantic & type analyzer
│ ├── compiler.py # Transpiler engine (SQL, Python, JS)
│ ├── studio_engine.py # Studio visual layout code generator
│ └── studio_server.py # Studio HTTP API server
├── studio_static/ # Visual Drag & Drop Builder UI
│ ├── index.html # Studio Canvas & Inspector Dashboard
│ └── studio_app.js # Studio client-side interaction engine
├── examples/ # Example applications (.theia)
│ ├── news_portal.theia # News Portal application
│ ├── ecommerce.theia # E-Commerce application
│ └── todo_app.theia # Todo List application
├── output/ # Generated build artifacts (ignored by git)
├── main.py # CLI Command Line Interface entry point
├── .gitignore # Git ignore rules
└── README.md # Project documentation
MIT License.