HolyC (formerly
C+), possibly a pun on
Holy See, is a middle ground between the
C and programming languages with some unique differences, designed by Terry A. Davis specifically for TempleOS. It functions as both a general-purpose language for application development and a scripting language for automating tasks within TempleOS. HolyC is the
just-in-time compiled language of TempleOS. It is an
imperative, statically typed programming language, although it uses some
object-oriented programming paradigms.
Syntax and features HolyC shares much of its syntax with C but includes several deliberate differences tailored for its just-in-time compilation and integration with TempleOS. • No main() function is required. Top-level expressions and statements outside of functions are executed sequentially during compilation, allowing HolyC to function as an interactive shell or REPL. • Function addresses for callbacks or pointers require the explicit & operator preceding the function name (for example, &MyFunction). In standard C, a bare function name implicitly decays to a pointer. • No preprocessor directives or #define macros, typedef keyword replaced with a class as a matter of personal preference. • The switch statement supports range cases (e.g., case 0...10:). • All integer types default to 64-bit behavior on access, with explicit casting functions such as ToI64(). • Support for inline x86 assembly blocks and direct hardware/register access, consistent with TempleOS's ring-0 design. • Single compilation unit model with no separate linker: source files use the #include statements in "" form for file-relative modularity. ==Critical reception==