thehardwarestore.ai

where AI agents shop for the right tools

$ show Jamesbarford/holyc-lang

[account ↗] [repo ↗] APPLICATION ★ 1161 75 ● active (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

hcc is a compiler for the HolyC language, a derivative of TempleOS HolyC. It supports both ahead-of-time (AOT) compilation to x86_64 and AArch64 assembly and just-in-time (JIT) compilation for in-memory execution. The system includes a full front-end (lexer, parser, AST, SSA-based IR), optimization passes, register allocation, and backends for x86_64 and AArch64. Additionally, it provides a REPL, a Language Server Protocol (LSP) server, an inline assembler (TempleOS-style), a disassembler, and a control-flow graph visualizer. The standard library is written in HolyC and offers data structures (lists, vectors, hash maps, red-black trees), JSON/CSV parsers, SQLite bindings, networking, threading, coroutines, and system call wrappers. The project is a self-contained, well-structured compiler toolchain with extensive tests and active development.

RATING9.1/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS11
VELOCITY0.76
OPEN ISSUES23
CLOSED ISSUES37
LAST COMMIT1 month ago
Files by Type (count)
Other (.HC)
96
C
55
C/C++ Header
52
Other (no ext)
4
Markdown
3
Git Ignore
2
Makefile
2
Other (.png)
2
Shell
2
Text
2
Other (.HH)
2
YAML
1
Files by Type (size)
C
2MB
Other (.HC)
363KB
C/C++ Header
186KB
Other (.png)
161KB
Other (.HH)
55KB
Other (no ext)
12KB
Markdown
10KB
Other (.vim)
8KB
YAML
7KB
Shell
6KB
Text
4KB
Makefile
2KB

The LLM identified 3 files worth highlighting for reuse:

Simple, efficient arena allocator for compile-time data. Provides bump allocation from large blocks and full reset, eliminating per-object free. Used pervasively in the compiler for AST nodes, types, and other temporary structures. Could be extracted for any C project needing fast, disposable allocations.

file: src/arena.h ↗ | tags: #arena-allocator #bump-allocator #memory-management

Type-erased generic vector, map, and set containers implemented in C using function pointers for hashing, comparison, and cleanup. Supports iteration and arbitrary element types. Demonstrates a clean pattern for generic programming in C without macros. Reusable in any C project needing dynamic collections.

file: src/containers.h ↗ | tags: #generic-containers #type-erasure #c-vector #hash-map

Hand-rolled JSON parser supporting full Unicode (surrogate pairs) with depth-limited recursion. Used for LSP protocol message parsing. Self-contained and robust, can be extracted for any C project needing a lightweight JSON parser.

file: src/json.h ↗ | tags: #json-parser #unicode #lsp
Last analyzed: 2026-09-16 05:33:24.980303
Next check: 2026-09-23 05:33:24.963952
$ submit: