May 22
Today · 41 commits · JIT + NaN-boxing
JIT Stage 4b — inline OP_GET_LOCAL emission with conditional incref
JIT Stage 4a — inline OP_CONST emission
JIT Stage 3a/3b — native trampolines, then inline emission for chunk-start opcodes
JIT Stage 2 — chunk-level compile hook into the bytecode-fn frame push
JIT Stage 1 — code cache + W^X roundtrip smoke test
Inline single-param bind fast path in OP_CALL / OP_DISPATCH; VAL_FN params interned
OP_DISPATCH / OP_RETURN — slot-native, avoid boxing
Per-chunk inline cache for GET_NAME / SET_NAME; env_hash_find interned-pointer fast path
EnvHash generation counter — O(1) recycle, no memset
NaN-boxing B/C — slot-native JUMP_IF_*, DUP, DOT_GET, INDEX_GET/SET, LOCAL_IDX_GET
NaN-boxing B-1…B-5 — flip VM.stack and Env.values to EigsSlot*, slot-flavored ARITH, immediates through stack
NaN-boxing A — slot encoding header + boundary shims
v0.11.2 — while-loop break + slot-error fixes; port ext_http to VM, drop eval.c
Escape analysis for slot promotion (Phase 1 + 1.5)
Fix LOCAL_IDX_DOT_GET/SET silent failures + 64K list/buffer truncation
Fix AST_LOOP break-jump stack corruption + global env release
v0.11.1 — observer convergence: state transfer, first-assign dH, loop iterations
Fix observer who/when, compound assignment double-eval (OP_DUP2), 5 audit findings
Stack-top arithmetic — eliminate push/pop overhead for num+num fast path
Earlier
Bytecode VM & perf groundwork
Post-0.9.3.4Bounded memory for tight numeric loops (GAP-DMG-003)
Post-0.9.3.4Scratch numeric Values for all-numeric builtin args — zero allocation in hot paths
Post-0.9.3.4In-place numeric mutation extended to all assignment contexts
Post-0.9.3.4Native bitwise operators + scratch list optimization
Post-0.9.3.4Typed buffer type for flat numeric arrays
Post-0.9.3.47 language bug fixes — JSON roundtrip, break scoping, split, memory leak
Post-0.9.3.4Dynamic env: remove 512-variable limit, fix load_file scoping in imports
Post-0.9.3.4New builtins: try_recv, spawn args, audio_sweep, nearest_in_range, read_bytes, fill, dispatch
May 21v0.11.0 — bytecode VM completeness: 14 VM bugs fixed, full tree-walker parity
May 21Cache string hashes in constant pool — faster dict / env lookups
May 21Fix observe builtin and numerical-gradient refcounting
May 21v0.10.0 — bytecode VM replaces AST tree-walker, computed-goto dispatch
May 21Non-recursive function calls — 4096-frame depth, no C-stack recursion
May 21New builtins: list_truncate, list_remove_at, sort_by (driven by EigenMiniSat)
May 21DMG — public-release prep: LICENSE, CONTRIBUTING, CHANGELOG, CI workflow
May 21EigenMiniSat — public-release prep: LICENSE, CONTRIBUTING, CHANGELOG, CI workflow
May 20EigenMiniSat — LBD-based clause management (Glucose-style glue clauses)
May 20EigenMiniSat — MiniSat-style clause minimization, random 3-SAT generator
May 20DMG — inline memory access and ALU flag ops on hot path
May 16DMG — Blargg CPU instruction suite runner, MBC regression coverage
May 16Tidepool — stacked observations during DQN training
May 16EigenMiniSat — DIMACS scan parser + diagnostics, checked-in corpus benchmark
May 16EigenMiniSat — geometric restarts, phase saving, eager learnt-clause compaction
May 16EigenMiniSat — CDCL with VSIDS heap, learnt-clause DB, lazy reduction, backjumping
May 16EigenMiniSat — initial DPLL baseline, watched literals, persistent trail path
Apr 28DMG — wrap main loop in unobserved for memory efficiency
Apr 27DMG — convert bit_* builtins to native bitwise operators (GAP-DMG-004)
Apr 27DMG — replace per-instruction dict ctx with list, 7× decode speedup
Apr 27DMG — typed buffer for 64KB memory, timer + LCD/VBlank timing, first Blargg output
Apr 26DMG — opcode dispatch table replaces if-chain (GAP-DMG-001)
Apr 26DMG — initial Game Boy emulator: CPU core, memory, opcode decoder
Apr 26Tidepool — DQN training pipeline in pure EigenScript
Apr 26Tidepool — neural policy inference with 4-frame observation stacking
Apr 26Tidepool — diet-driven NPC AI with boid flocking, ported from C
Apr 26Tidepool — procedural audio synthesis, body-zone damage, part-unlock editor
Apr 26Tidepool — headless / batch / autopilot CLI modes, interactive training UI
Apr 25v0.9.3.4 — UI toolkit refactor: widget registry, layout caching, accessibility
Apr 25Eliminate every sprintf and strcpy from the codebase
Apr 25Security round 3 — screen_render overflow, join overflow, test injection
Apr 25Security round 2 — 11 fixes for bounds, recursion, injection, leaks
Apr 25v0.9.3.1 — security round 1: 7 vulnerabilities found in internal review
Apr 25EigenStore: full structural validation at store_open
Apr 25iLambdaAi migrated to .eigen format, corpus rebuilt for 0.9.3
Apr 22Tidepool — port mating, creature editor, camera zoom, caustics, high scores
Apr 22Tidepool — port combat system, abilities, epic cells, particle effects
Apr 22Tidepool — port creature spec system and body rendering from C version
Apr 22v0.9.3 — computational geometry library (the namesake)
Apr 22Expose observer thresholds for advanced users
Apr 2215 STEM simulation and analysis examples
Apr 22Lab data collection framework
Apr 22v0.9.2 — observer-aware optimization, simulation, numerics, experiment libs
Apr 22Linear algebra, calculus, probability libraries
Apr 22Engineering and earth science standard libraries
Apr 22STEM standard library: physics, chemistry, biology
Apr 22Code formatter (--fmt) and linter (--lint)
Apr 22Fix memory leaks found by valgrind: free token list and AST on exit
Apr 22SDL2 audio extension: synthesis, playback, mixing, envelope
Apr 22v0.9.1 — SHA-256, MD5, HMAC-SHA256 hash builtins
Apr 22Language Server Protocol (LSP) for editor integration
Apr 22v0.9.0 — meta-circular interpreter at full parity
Apr 22EigenStore: zero-dependency native embedded database
Apr 21Graphical debugger with observer-aware variable inspection
Apr 21Real concurrency: thread-local globals, spawn / channel primitives
Apr 21UI toolkit v1 → v4: themes, focus, animation, charts, modals, DnD
Apr 17v0.8.1 — auth hardening, proper Bearer parsing