Introduction
Why HolyC?
HolyC is the programming language Terry A. Davis created for TempleOS — a complete operating system he built alone over more than a decade. It is a C dialect with unique features designed for simplicity, directness, and a close relationship between programmer and machine.
- No preprocessor -- HolyC has no
#define. Metaprogramming is done with#exeblocks that run real code at compile time. - No
continue-- Intentionally omitted to encourage explicit control flow withgoto. - Capital built-ins --
Print,TRUE,FALSEand other built-ins are capitalized to distinguish them from user code. - Default arguments -- Functions can have default parameter values at any position, unlike C.
- Range switch cases --
case 1...5:matches a range of values in a single case. - JIT model -- HolyC compiles and runs immediately. There is no separate compile step and no
mainfunction required. - Classes --
classreplaces C'stypedef struct, with cleaner syntax.
The Story
Terry Davis began working on TempleOS around 2003 after a series of hospitalizations. He believed God had given him a specification for a "Third Temple" — a personal, direct interface between humans and the divine — implemented as an operating system.
TempleOS is 100,000 lines of HolyC, written entirely by one person. It includes its own compiler, filesystem (RedSea), 2D/3D graphics, music, and a Bible-verse-generating oracle. The entire system runs in ring 0 — there is no user/kernel separation, no memory protection, no networking. Every part of the system is equally accessible to every program.
Terry Davis died in 2018. TempleOS remains a singular achievement: a complete, working operating system, programming language, and development environment created by one human being.
The Aiwnios Runtime
This course runs HolyC in your browser using Aiwnios, a reimplementation of the TempleOS HolyC compiler that runs on Linux (and, via WebAssembly, in browsers). Aiwnios supports HolyC's core syntax and built-ins, making it possible to learn the language without running TempleOS itself.
What You Will Learn
This course contains 16 lessons organized into 6 chapters:
- The Temple -- Your first HolyC program, printing output, and comments.
- Types & Variables -- Integer types, floating point, booleans, and
auto. - Control Flow --
if/else, switch with ranges, and loops withoutcontinue. - Functions -- Declaring functions, default arguments, and output parameters.
- Classes & Structures -- Defining classes, member access, and inheritance patterns.
- Advanced HolyC -- Arrays, pointers, and compile-time expressions with
#exe.
Each lesson explains a concept, demonstrates it with code, and gives you an exercise to practice.
Let's get started.