Open Source

My open source work focuses on language tools, programming language design, and educational software, with an emphasis on clarity of semantics, correctness, and long-term maintainability.

I am particularly interested in projects that sit at the intersection of theoretical foundations and practical tooling, where formal ideas are translated into usable systems.


LISP_JS

LISP_JS is a JavaScript-based Lisp interpreter and tooling project.

The project was originally developed as a demo and educational platform for students, with the goal of making core ideas of Lisp—such as evaluation models, environments, and symbolic computation—explicit and easy to experiment with.

Key aspects of the project include:

  • a minimal but expressive Lisp core,
  • a readable interpreter implementation,
  • tooling aimed at teaching and experimentation rather than performance.

LISP_JS is actively used as a teaching aid, and its design prioritizes conceptual clarity over completeness or language compatibility.


ZiPEG

ZiPEG is an open-source parsing system based on Parsing Expression Grammars (PEGs), designed with a strong emphasis on predictable behavior, linear-time performance, and engineering reliability.

While many PEG implementations prioritize convenience or rapid feature growth, ZiPEG focuses on preserving the core properties that make PEG practical in real systems: deterministic parsing, absence of ambiguity, and stable performance characteristics.

ZiPEG is implemented in Zig and aims to provide a fast (linear-time), deterministic, and reliable parsing engine with a clean and transparent design.

The system is intended to be usable both as a low-level parsing library and as a foundation for higher-level tooling. To support this, the project includes:

  • a well-defined core PEG engine,
  • an internal DSL for grammar construction,
  • an external grammar format (.zpeg) with its own meta-grammar and tooling.

Some parts of ZiPEG are already fully usable, while others are actively evolving as the project moves toward a stable public release.


Quizzer

Quizzer is an educational platform for creating and running quizzes, designed with a focus on non-trivial question types and algorithmically meaningful evaluation.

Unlike typical quiz engines, Quizzer supports:

  • matching and permutation-based questions,
  • structured answers instead of simple multiple choice,
  • deterministic and inspectable grading logic.

The core system is fully implemented and actively used in teaching contexts. It includes a stable data model, evaluation pipeline, and support for complex answer types that arise naturally in computer science and discrete mathematics courses.

At the moment, Quizzer is preparing for a public release. The remaining work is primarily focused on:

  • administration and management interfaces,
  • usability improvements,
  • polishing workflows required for broader, public-facing use.

The underlying quiz engine itself is already mature; the upcoming release is about making the system comfortable and robust for external users rather than completing its core functionality.