Development

One language. Built all the way down.

HolyPHP is an open-source language project with a compiler, runtime, native libraries, package tools and editor support. This page explains how those pieces fit together and where to follow the work.

The pipeline

Source in. Native program out.

The compiler reads .hphp source, checks it, emits C and invokes the platform toolchain to produce an executable.

hello.hphp
    ↓  lex · parse
    ↓  type & borrow checks
    ↓  C code generation
    ↓  platform compiler + linker
app.exe / app

Project components

01

Compiler

The C11 compiler implementation lives in src/hphpc/: lexer, parser, semantic analysis, code generation, diagnostics and command-line tooling.

02

Runtime

Runtime and built-in implementations live in src/hphpc/runtime/. The build generates runtime_embed.h so the compiler can carry runtime sources within its binary.

03

Libraries

HolyPHP libraries are organized as packages under packages/lib/. The build can embed their source into the compiler; installed binaries may differ in which libraries they carry.

04

Tools and learning resources

The repository includes a package registry, a browser Playground, a VS Code extension, examples and the documentation site.

Get involved

Source repository ↗

Explore the code

Browse compiler sources, issues, discussions and project changes.

Examples ↗

Learn by reading

See how programs and library demos are written in HolyPHP.

Documentation ↗

Understand the language

Read the language reference, CLI guide and library documentation.

Build from source

Check out the repository and follow its build instructions for your platform. The Windows/MinGW and Linux builds have separate scripts because their linkers and system libraries differ.

git clone https://github.com/Elifoxcoder/holyphp
cd holyphp
# Read the current build notes in README.md and AGENTS.md
bash scripts/build.sh

For contributions, use the project’s current issue and review process in GitHub. Compiler and library behavior is evolving, so include a minimal program that demonstrates a bug or proposed change.

Development status and release availability can differ. The GitHub Releases page is the source for downloadable public builds; the repository contains newer work in progress when present.

Visit the repository ↗Open docs ↗