queelius/aperture: v0.2.0 — Go Rewrite

Read full text
Authors: Alex Towell
Cited by: 0

Abstract

What's New Complete rewrite from C++ to Go with a clean package architecture. Language Minimal Lisp with holes (?x, ?ns.x) for coordinated partial evaluation Partial evaluator with algebraic simplifications (constant folding, identity, annihilation) Hole filling with incremental multi-party support Namespaced holes for multi-party coordination (?client.x, ?server.y) CLI aperture eval — evaluate expressions aperture partial — partial evaluation preserving holes aperture fill --hole x=10 — fill holes and evaluate aperture run — execute .apt files Interactive REPL with :holes, :partial, :trace, :env commands Architecture pkg/ast — AST types with sealed interface pattern pkg/parser — hand-written recursive descent S-expression parser pkg/eval — full evaluator, partial evaluator, algebraic simplifier pkg/value — runtime value types pkg/env — lexically scoped environments demo/query/ — HTTP client/server demo of local computation pattern Install go install github.com/queelius/aperture/cmd/aperture@v0.2.0

Fields of Study & Subjects

Logic programming and type systems Teaching and Learning Programming Parallel Computing and Optimization Techniques

Publication details

Journal / source
Zenodo (CERN European Organization for Nuclear Research)
Publication date
15 March 2026
Language
EN