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 #exe blocks that run real code at compile time.
  • No continue -- Intentionally omitted to encourage explicit control flow with goto.
  • Capital built-ins -- Print, TRUE, FALSE and 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 main function required.
  • Classes -- class replaces C's typedef 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:

  1. The Temple -- Your first HolyC program, printing output, and comments.
  2. Types & Variables -- Integer types, floating point, booleans, and auto.
  3. Control Flow -- if/else, switch with ranges, and loops without continue.
  4. Functions -- Declaring functions, default arguments, and output parameters.
  5. Classes & Structures -- Defining classes, member access, and inheritance patterns.
  6. 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.

Next →