Hello everyone!
Our final meeting of 2025, San Diego C++ Meetup #81, took place on Tuesday, December 9th. It was a fantastic session to wrap up the year, featuring a deep dive into the intersection of Modern C++, AI tooling, and functional programming interpreter design.
For those who couldn’t make it, the full recording is available on our YouTube channel:
- San Diego C++ Meetup recording: Watch here
- Meetup Event Page: Link
A massive thank you to our sponsor, JetBrains, for their continued support of the San Diego C++ Meetup group. They just dropped a new release with some impressive features (including a constexpr debugger!), so be sure to check it out. We also have a special coupon code from Packt for the book Software Architecture with C++ – feel free to reach out if you missed it during the session.
The Talks
We were joined by Alfonso, who walked us through two of his comprehensive personal projects that bridge the gap between academic theory and practical systems programming.
1. Beyond the Paper: A Modular Workbench for Neural Code Analysis
The first talk introduced BERT Builder, a “batteries-included” pipeline designed to transform the theoretical work of Transformer architectures into a tangible workbench.
Implementing research papers is often messy, involving hardcoded paths and fragile scripts. Alfonso demonstrated a complete tooling ecosystem that allows users to own every step of the process.
Key Highlights:
- End-to-End Pipeline: The system covers everything from automated Corpus Engineering (fetching and sanitizing GitHub repos) to tokenization, pre-training, and evaluation.
- Modular Architecture: Designed for “plug-and-play” experimentation. You can swap out tokenizer strategies (Char, KeyChar, SentencePiece) or masking objectives (MLM, WWM) easily.
- Scientific Rigor: Alfonso emphasized the importance of Specification-Driven Development (using “Speckit”) to ensure the tool meets rigorous academic standards while remaining hackable for the community.
- AI-Assisted Development: Interesting insights were shared on using Gemini 2.5 to aid in generating the specs and code, including the challenges of enforcing Test-First Development with AI agents.
2. Building Expresso: A Purely Functional, Immutable REPL
The second part of the night explored Expresso, a lightweight, interactive REPL for evaluating expressions.
Unlike traditional interpreters that rely on mutable state, Expresso is built on a strict philosophy of immutability. Every user input is treated as a pure expression that evaluates to a new value without side effects.
Technical Details:
- Hybrid Architecture: The core runtime and CLI are built with ANSI C17, while the robust lexing and parsing are handled by C++17 and ANTLR.
- No-Assignment Constraint: The language enforces functional purity by disallowing variable assignment, a design choice that simplifies the mental model and prevents side effects.
- Robust Testing: The project used detailed feature specifications to guide a Test-First Development process, ensuring edge cases like numeric overflow and operator precedence were verified before implementation.
It was a great evening of learning, from neural networks to compiler theory.
Thank you to everyone who attended and participated in the discussions. I wish you all a happy holiday season and a Happy New Year! See you in 2026!
Kobi
