Releases: InauguralSystems/EigenScript
Releases · InauguralSystems/EigenScript
EigenScript 0.8.1
New Builtins
monotonic_ns/monotonic_ms— high-precision monotonic timer viaclock_gettime(CLOCK_MONOTONIC). Sub-millisecond precision, no fork, no shell.
Runtime
- System stdlib resolution —
load_fileandimportnow search~/.local/lib/eigenscript/as fallback after CWD and script-relative paths.make installcopieslib/*.eigsthere. External projects can use stdlib without copying files.
Documentation
- Gap analysis for real-world program classes
- ROADMAP updated with all completed features by version
Testing
- 614 tests
git clone https://github.com/InauguralSystems/EigenScript.git
cd EigenScript && make installEigenScript 0.8.0
Runtime
- Reference counting GC — automatic memory management, Values freed when refcount hits zero
unobserved:blocks — opt out of observer tracking for performance-critical code. In-place numeric mutation, zero allocation for arithmeticeval_num_fast— pure arithmetic fast path inside unobserved blocks, no intermediate Value allocation
Graphics Extension (SDL2)
- 13 builtins:
gfx_open,gfx_close,gfx_clear,gfx_rect,gfx_line,gfx_point,gfx_circle,gfx_text,gfx_present,gfx_poll,gfx_ticks,gfx_delay,gfx_title - Dynamically loads libSDL2 at runtime (no dev headers needed)
gfx_textwith embedded 5x7 bitmap font, scalablegfx_pollreturns events as dicts with key names- Build:
make gfx
New Builtins
- Bitwise:
bit_and,bit_or,bit_xor,bit_not,bit_shl,bit_shr - I/O:
write(no newline),flush,raw_key(non-blocking keypress),usleep - String:
joinas C builtin — O(n) single-allocation concatenation
Testing
- 614 tests (up from 568)
- Bitwise, I/O, GC stress tests
git clone https://github.com/InauguralSystems/EigenScript.git
cd EigenScript && make installEigenScript 0.7.1
Hardened runtime — same language, safer internals.
Internal
- strbuf: growable string buffers replace fixed
MAX_STRthroughout lexer, regex, JSON, REPL - xmalloc_array: overflow-safe multiplicative allocations with
safe_size_mul - builtins_tensor.c: tensor builtins extracted into own file
- memcpy string concat: replaces
strcpy/strcatin evaluator
Security
- HTTP 404 JSON injection fix
realpathconfinement for static file serving- Dynamic request buffer with
EIGS_HTTP_MAX_BODY
Testing
- 568 tests (up from 552)
- Large-buffer regression tests for strings, JSON, regex
git clone https://github.com/InauguralSystems/EigenScript.git
cd EigenScript && make installEigenScript 0.7.0
Language
- Pattern matching:
match expr: case pattern: ...with wildcard_ - Pipe operator:
data |> transform |> sort - Lambda expressions:
(x) => x * 2with closure capture - Break/continue: proper loop control flow
- Dot-assignment:
config.name is "value" - Multiline collections: lists and dicts span multiple lines
- Regex:
regex_match,regex_find,regex_replace(POSIX ERE) - Import system:
import mathwith namespaced access
Architecture
- Source split:
eigenscript.c→lexer.c,parser.c,eval.c,builtins.c - OOM-safe allocations, recursion depth guard, stack protector
Security
- Shell injection fix, HTTP Content-Length validation, model dimension overflow guard, softmax NaN guard
Testing
- 552 tests (up from 224) + 44 fuzz tests under ASAN+UBSan
- Formal EBNF grammar specification
Install
git clone https://github.com/InauguralSystems/EigenScript.git
cd EigenScript && make installSee CHANGELOG.md for full details.
EigenScript 0.6.0
EigenScript is now a complete, standalone programming language.
New Language Features
- REPL —
eigenscriptwith no args for interactive mode - Named parameters —
define add(a, b) as:replaces manualn[0]/n[1]unpacking - String interpolation —
f"Hello {name}, {x * 2}" - Native dictionaries —
{}literals,.keydot access,["key"]bracket access - Try/catch —
try: ... catch err: ...withthrowbuiltin - Closures — functions capture their defining environment
- eval — execute EigenScript strings at runtime
Meta-Circular Interpreter
lib/eigen.eigs: tokenizer, parser, and evaluator written in pure EigenScript- EigenScript can now run EigenScript
Standard Library
- 25 modules covering math, lists, maps, sets, sorting, queues, state machines, templating, logging, CLI args, datetime, config, validation, HTTP, testing, formatting, and the meta-circular interpreter
- All modules converted to named parameters
Stats
- 127 builtins
- 25 stdlib modules
- 224 tests passing
- ~140K binary, zero dependencies
Install
git clone https://github.com/InauguralSystems/EigenScript.git
cd EigenScript
./install.shSee CHANGELOG.md for full details.
EigenScript 0.5.0
Initial public release of the C-native EigenScript runtime.
Highlights
- Observer semantics: every value tracks entropy and trajectory (improving, diverging, stable, converged, oscillating, equilibrium)
- 121 builtins: tensor math, file I/O, JSON, HTTP, database, and more
- 24 standard library modules: math, lists, maps, sets, sorting, queues, state machines, templating, logging, CLI args, datetime, config, validation, and more
- Single C binary (~96K) with no external dependencies
- Full documentation: language reference, builtin reference, stdlib guide, error diagnostics
- 121-test suite
Install
git clone https://github.com/InauguralSystems/EigenScript.git
cd EigenScript
./install.shSee CHANGELOG.md for full details.
v0.4.1
What's Changed
- Claude/self hosting requirements 01 fg nm fwe2 k ze1k ni zvd5i3c by @InauguralPhysicist in #57
- Claude/self hosting requirements 01 fg nm fwe2 k ze1k ni zvd5i3c by @InauguralPhysicist in #58
- Fix blank line handling in self-hosted parser by @Copilot in #59
- Implement continue statement with scalar equality fix by @Copilot in #60
- Fix repository consistency issues and add development standards by @Copilot in #61
- Implement continue statement in self-hosted compiler by @Copilot in #63
- Remove debug prints and add continue statements to enable self-hosted compiler by @Copilot in #64
- Fix comment handling in self-hosted lexer for full self-compilation by @Copilot in #65
- Document compiler self-hosting capability with quickstart and technical guides by @Copilot in #66
- Document Stage 1 compiler numeric literal bug after investigation by @Copilot in #67
- Add comprehensive bootstrapping investigation documentation by @Copilot in #68
- Fix numeric literal bug in self-hosted compiler by @InauguralPhysicist in #69
- Claude/document bootstrap investigation 011 hg1 ts zt8 l8 wg2 qzqhu roj by @InauguralPhysicist in #70
- Fix multiple codegen issues in self-hosted compiler by @InauguralPhysicist in #71
- Claude/document bootstrap investigation 011 hg1 ts zt8 l8 wg2 qzqhu roj by @InauguralPhysicist in #72
- Claude/document bootstrap investigation 011 hg1 ts zt8 l8 wg2 qzqhu roj by @InauguralPhysicist in #73
- Claude/document bootstrap investigation 011 hg1 ts zt8 l8 wg2 qzqhu roj by @InauguralPhysicist in #74
- Fix duplicate function generation in bootstrap Stage 2 by @InauguralPhysicist in #75
- Fix cross-module global naming mismatch for Stage 2 linking by @InauguralPhysicist in #76
- Fix Stage 2 codegen issues for valid LLVM IR generation by @InauguralPhysicist in #77
- Claude/fix stage2 list init 0131n jk l2qiw r azjycj jkux3 by @InauguralPhysicist in #78
- Update self-hosting quickstart to reflect bootstrap success by @InauguralPhysicist in #79
- Bump version to v0.4.1 for bootstrap release by @InauguralPhysicist in #80
Full Changelog: v0.4.0...v0.4.1
What's Changed
- Claude/self hosting requirements 01 fg nm fwe2 k ze1k ni zvd5i3c by @InauguralPhysicist in #57
- Claude/self hosting requirements 01 fg nm fwe2 k ze1k ni zvd5i3c by @InauguralPhysicist in #58
- Fix blank line handling in self-hosted parser by @Copilot in #59
- Implement continue statement with scalar equality fix by @Copilot in #60
- Fix repository consistency issues and add development standards by @Copilot in #61
- Implement continue statement in self-hosted compiler by @Copilot in #63
- Remove debug prints and add continue statements to enable self-hosted compiler by @Copilot in #64
- Fix comment handling in self-hosted lexer for full self-compilation by @Copilot in #65
- Document compiler self-hosting capability with quickstart and technical guides by @Copilot in #66
- Document Stage 1 compiler numeric literal bug after investigation by @Copilot in #67
- Add comprehensive bootstrapping investigation documentation by @Copilot in #68
- Fix numeric literal bug in self-hosted compiler by @InauguralPhysicist in #69
- Claude/document bootstrap investigation 011 hg1 ts zt8 l8 wg2 qzqhu roj by @InauguralPhysicist in #70
- Fix multiple codegen issues in self-hosted compiler by @InauguralPhysicist in #71
- Claude/document bootstrap investigation 011 hg1 ts zt8 l8 wg2 qzqhu roj by @InauguralPhysicist in #72
- Claude/document bootstrap investigation 011 hg1 ts zt8 l8 wg2 qzqhu roj by @InauguralPhysicist in #73
- Claude/document bootstrap investigation 011 hg1 ts zt8 l8 wg2 qzqhu roj by @InauguralPhysicist in #74
- Fix duplicate function generation in bootstrap Stage 2 by @InauguralPhysicist in #75
- Fix cross-module global naming mismatch for Stage 2 linking by @InauguralPhysicist in #76
- Fix Stage 2 codegen issues for valid LLVM IR generation by @InauguralPhysicist in #77
- Claude/fix stage2 list init 0131n jk l2qiw r azjycj jkux3 by @InauguralPhysicist in #78
- Update self-hosting quickstart to reflect bootstrap success by @InauguralPhysicist in #79
- Bump version to v0.4.1 for bootstrap release by @InauguralPhysicist in #80
Full Changelog: v0.4.0...v0.4.1
v0.4.0
What's Changed
- Add native string primitives for self-hosting by @InauguralPhysicist in #45
- Add self-hosting parser implementation for EigenScript by @InauguralPhysicist in #46
- Claude/review last commit 018 px est7m xv2t uas4 jk jk qp by @InauguralPhysicist in #48
- Claude/review last commit 018 px est7m xv2t uas4 jk jk qp by @InauguralPhysicist in #49
- Claude/review last commit 018 px est7m xv2t uas4 jk jk qp by @InauguralPhysicist in #50
- Add file I/O builtins for self-hosting compiler by @InauguralPhysicist in #51
- Claude/review last commit 018 px est7m xv2t uas4 jk jk qp by @InauguralPhysicist in #52
- Fix self-hosting compiler variable lookup and cross-module string sha… by @InauguralPhysicist in #53
- Claude/self hosting requirements 01 fg nm fwe2 k ze1k ni zvd5i3c by @InauguralPhysicist in #54
- Claude/self hosting requirements 01 fg nm fwe2 k ze1k ni zvd5i3c by @InauguralPhysicist in #55
- Claude/self hosting requirements 01 fg nm fwe2 k ze1k ni zvd5i3c by @InauguralPhysicist in #56
Full Changelog: v0.3.23...v0.4.0
v0.3.23
What's Changed
- Add semantic LLM expressing components via EigenScript invariants by @InauguralPhysicist in #38
- Claude/eigenscript deep dive 013q e3 qft5 pp armn4 fi5 vw uo by @InauguralPhysicist in #39
- Add tied embeddings and gradient-informed training by @InauguralPhysicist in #40
- Add 4 stacked layers and top-k sampling by @InauguralPhysicist in #41
- Add production-grade LLM improvements (semantic_llm_v3) by @InauguralPhysicist in #42
- Add missing LLM essentials to transformer stdlib by @InauguralPhysicist in #43
- Prepare for v0.3.23 release by @InauguralPhysicist in #44
Full Changelog: v0.3.22...v0.3.23
Introspective AI & Transformer Architecture
What's Changed
- Add introspective LLM example demonstrating hybrid EigenScript approach by @InauguralPhysicist in #35
- Claude/eigenscript deep dive 013q e3 qft5 pp armn4 fi5 vw uo by @InauguralPhysicist in #36
- Prepare release v0.3.22: Introspective AI & Transformer Architecture by @InauguralPhysicist in #37
Full Changelog: v0.3.21...v0.3.22