DEV Community

Cover image for Introducing ProXPL: A Modern Programming Language Built from Scratch
Prog. Kanishk Raj
Prog. Kanishk Raj

Posted on

Introducing ProXPL: A Modern Programming Language Built from Scratch

Inroducing ProXPL: A Modern Programming Language Built from Scratch

Building a programming language is not just about writing syntax rules.

It is about understanding how ideas are translated into instructions, how structure brings clarity, and how design decisions shape developer experience.

ProXPL (ProX Programming Language) is my attempt to build a complete, real-world programming language — not a wrapper, not a transpiler, and not a toy experiment — but a full system with its own compiler, bytecode virtual machine, tooling, and ecosystem.

This article introduces ProXPL, its philosophy, internal architecture, current capabilities, and future vision.


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

GitHub Repository:

https://github.com/ProgrammerKR/ProXPL

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();
Enter fullscreen mode Exit fullscreen mode

Run the program using the CLI:

prox run hello.prox
Enter fullscreen mode Exit fullscreen mode

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:
https://github.com/ProgrammerKR/ProXPL


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 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.

Top comments (0)