It's 3 weeks since the last Humbug release so it's time for a new one!
v40 doesn't have a huge number of new agentic features, but does support a lot of newer AI models. There are also a few important usability bug fixes. By far the biggest changes are in what was previously called AIFPL, and is now called Menai.
From a fairly rudimentary compiler and stack machine VM, Menai now has an advanced optimizing compiler and a new infinite register VM. In addition, the language has seen some huge changes in the standard library. In all but the most trivial test cases this has resulted in a 10x improvement in performance, all while largely holding compile times very small.
The Menai story will continue to advance at pace over the next few weeks to enable it to take a much more interesting position in Humbug's technology stack.
So, what's the vision for Menai?
The idea of Menai is to give AIs a safe execution environment in which they can safely implement custom functionality, but where the responsibility for any side effects will reside with human-approved tool uses.
Another core idea is that complex functionality will be able to be composed from simpler functions. This was a primary motivator for building an optimizing compiler.
Over the next few releases, the idea is to allow Menai-coded extensions to interact with the various UI components within Humbug as part of a pipeline. We'll see if this plays out as I hope!
Humbug v40
New features:
- Added support for Claude Sonnet 4.6.
- Renamed AIFPL to Menai (it's about time it had a real name).
- Revised the whole numeric type hierarchy in Menai so it is strict, and moving away from the Lisp-like numeric tower.
- Renamed all operations to follow a consistent naming pattern rather than retaining more legacy Lisp/Scheme names.
- Added a lot of new functionality for lists and strings in Menai.
- Added more operators for functions and symbols.
- Added a new IR optimization pass manager for Menai.
- Added a new SSA control flow graph layer for Menai.
- Replaced the Menai stack machine VM with a register machine for speed.
- Added support for Gemini Pro 3.1 preview and removed 3.0.
- Removed support for Gemini 3.0 Pro Preview (no longer available).
- Removed support for Gemma3:4b (obsolete).
- Removed support for Ministral-3 (obsolete).
- Added support or Qwen 3.5.
- Removed support for Qwen 3 (obsolete).
- Removed support for Phi4 (obsolete).
- Added support for MiniMax M2.5 and removed MiniMax M2.
- Added support for Kimi k2.5 and removed Kimi k2.
- Added support for GPT-5.4.
- If the user hits enter/return in a terminal window then scroll to the bottom.
Bug fixes:
- Alt+ keypresses now generate the correct characters on a Mac (e.g. # on a British keyboard).
- If the system AI tool wants to close a modified tab then it now requests authorization to close the tab from within the conversation. This prevents problems with modal dialogs and async code.
Internal structure changes:
- Reworked a lot of the internals of Menai to make the code easier to read and to allow AIs to update it more reliably.