Introducing ProXPL: A Modern Programming Language Built from Scratch

Published: (December 22, 2025 at 11:41 AM EST)
4 min read
Source: Dev.to

Source: Dev.to

What Is ProXPL?

ProXPL is a modern, statically typed, general‑purpose programming language designed for clarity, performance, and learnability. It includes:

  • A custom lexer and parser
  • Semantic analysis and type checking
  • A bytecode compiler
  • A stack‑based Virtual Machine (VM)
  • Command‑line interface (CLI) tools
  • A package manager called PRM
  • A growing standard library
  • Clear roadmap and modular architecture

ProXPL is designed not only to build software, but also to help developers deeply understand how programming languages work internally.


Why ProXPL Exists

Most developers use powerful programming languages every day, but rarely see what happens beneath the surface. Questions like:

  • How does a compiler actually convert code into instructions?
  • How does a language enforce types and rules?
  • What role does a virtual machine play?
  • How are errors detected before execution?

ProXPL exists to answer these questions practically — by building the entire pipeline from source code to execution.

The goal is not to replace Python, C++, Java, or Go.
The goal is to understand them by recreating the fundamentals from scratch.


Core Design Philosophy

ProXPL is guided by a few clear principles:

  1. Clarity Over Cleverness – Syntax should be readable, predictable, and easy to reason about.
  2. Explicit Structure – Code should clearly express intent without hidden or magical behavior.
  3. Performance Awareness – The language is compiled to bytecode and executed on a VM for efficiency and portability.
  4. Learnability – The internal architecture is intentionally transparent, making ProXPL an excellent project for learning compiler and VM design.

Language Features Overview

ProXPL currently supports:

  • Statically typed variables with inference
  • Functions with defined scope rules
  • Conditional logic and control flow
  • Modular imports
  • Built‑in input and output utilities
  • Standard‑library helpers (strings, math, collections, etc.)
  • Command‑line execution
  • Package management using PRM

The language is strict where correctness matters and flexible where productivity matters.


A Simple ProXPL Example

func main() {
    print("Welcome to ProXPL!");
    let name = input("Enter your name: ");
    print("Hello, " + name + "!");
}
main();

Run the program using the CLI:

prox run hello.prox

The syntax is intentionally familiar while remaining strongly structured.


Compiler and Runtime Architecture

ProXPL follows a professional, traditional compiler pipeline:

Source Code

Lexer (Tokenization)

Parser (AST Generation)

Semantic Analysis & Type Checking

Compiler (Bytecode Generation)

Virtual Machine Execution

Each stage is clearly separated, making the system modular, testable, and extensible. This architecture mirrors how production‑grade programming languages are designed.

The Virtual Machine (VM)

ProXPL uses a custom stack‑based Virtual Machine. The VM is responsible for:

  • Executing bytecode instructions
  • Managing the execution stack
  • Handling function calls
  • Controlling program flow

Using a VM provides:

  • Platform independence
  • Controlled execution
  • Easier optimization paths
  • Clear separation between language and hardware

This design allows future enhancements such as JIT compilation and native extensions.


Project Structure

The repository is organized to reflect real‑world compiler projects:

ProXPL/
├── src/        # Compiler and VM implementation
├── include/    # Core interfaces and headers
├── cli/        # Command‑line tools and PRM
├── docs/       # Language documentation
├── examples/   # Example ProXPL programs
└── tests/      # Unit and integration tests

This structure makes ProXPL approachable for contributors and learners alike.


Package Manager: PRM

ProXPL includes its own package manager called PRM. PRM is designed to:

  • Manage dependencies
  • Standardize project layouts
  • Enable future package‑registry support

This makes ProXPL more than just a language — it is an ecosystem in progress.


Roadmap and Future Vision

ProXPL is actively evolving. Planned milestones include:

  • Class‑based object‑oriented programming
  • Improved error diagnostics and tooling
  • Foreign Function Interface (FFI)
  • Async / await support
  • Performance optimizations
  • Expanded standard library
  • Stable v1.0 release

Community feedback will play a major role in shaping future development.


Open Source and Community

ProXPL is fully open‑source. Anyone can:

  • Explore the compiler and VM code
  • Learn how programming languages are built
  • Improve documentation
  • Contribute features or fixes

You do not need to be a compiler expert — curiosity and consistency are enough.

GitHub:


Why ProXPL Matters

Not every programming language needs mass adoption. Some languages exist to:

  • Teach deep technical concepts
  • Challenge conventional thinking
  • Encourage learning by building
  • Inspire future creators

ProXPL exists for these reasons.


Final Thoughts

Building ProXPL was not about creating “the next big language.”
It was about understanding software at a deeper level, and providing a platform for anyone who wants to explore how programming languages work from the ground up.

At its core — from plain text to executed instructions.

If this project inspires you to:

  • Learn compiler design
  • Build your own tools
  • Explore language internals
  • Contribute to open source

Then ProXPL has already achieved its goal.

Thank you for reading.

Back to Blog

Related posts

Read more »

QBasic64 Phoenix 4.3.0 Released

Article URL: https://qb64phoenix.com/forum/showthread.php?tid=4244 Comments URL: https://news.ycombinator.com/item?id=46352047 Points: 13 Comments: 2...