Repository navigation
Echo v2.1.9
·
76 commits
to main
since this release
Echo 2.1.9
Two closed series on the same failure model (abort + *Or; no try/catch) and no package registry.
| Series | Message |
|---|---|
| 2.0.x | Path resolution + std/… modules — not a package manager |
| 2.1.x | YAML + thin LSP stub + std maturity on that 2.0 surface |
2.0.x — Modules beyond siblings + std peel
Highlights
- Nested / relative imports:
"./math","../shared","lib/math" - Reserved
import … from "std/…"from the Echo install tree (ECHO_STD_ROOToverridable) - Builtin families peeled into std modules with a dual-path prelude (still importable from prelude by default)
- Optional
--require-std/Host.require_stdto hide peeled names from the prelude - Clearer module diagnostics (E3001–E3005)
By version
| Version | What shipped |
|---|---|
| 2.0.0 | Relative / nested import paths |
| 2.0.1 | Cycle / not-found / invalid-specifier diagnostics polish |
| 2.0.2 | std/… install-tree path; seed std/meta |
| 2.0.3 | std/http — HTTP family |
| 2.0.4 | std/url, std/base64 |
| 2.0.5 | std/fs, std/json, std/os |
| 2.0.6 | std/re, std/time |
| 2.0.7 | Core vs peeled prelude; --require-std |
| 2.0.8 | Docs / examples / playground for multi-file + std/… |
| 2.0.9 | Series close |
Std modules after 2.0
std/meta, std/http, std/url, std/base64, std/fs, std/json, std/os, std/re, std/time
2.1.x — YAML + LSP + std maturity
Highlights
- YAML helpers via PyYAML (
yamlParse/yamlParseOr/yamlWrite,std/yaml, E2855) - Thin
elang lsp(diagnostics, builtin hover, goto-def) + VS Code/Cursor client - Abort
Stack:dumps +trace/.trace()(not a stepper) - Further peels:
std/math,std/random;now/waitonstd/time;runonstd/os elang std(+--exports/--count/--path)- Generated Std Inventory docs page (
tools/sync_builtins.py)
By version
| Version | What shipped |
|---|---|
| 2.1.0 | yamlParse / yamlWrite + std/yaml |
| 2.1.1 | yamlParseOr + docs |
| 2.1.2 | elang lsp stub (diagnostics + hover) |
| 2.1.3 | LSP goto-definition (local + imports) |
| 2.1.4 | Editor LSP client (vscode-languageclient; tasks remain fallback) |
| 2.1.5 | Abort Stack: + trace |
| 2.1.6 | std/math, std/random; extend std/time / std/os |
| 2.1.7 | elang std inventory CLI |
| 2.1.8 | Generated docs/reference/std-inventory.md |
| 2.1.9 | Series close (README / matrix / yaml_and_math example + playground) |
Std modules after 2.1
All of 2.0, plus std/yaml, std/math, std/random. List anytime with:
elang std
elang std --exportsCLI surface (end of 2.1.9)
elang / echolang: run file, REPL, check, test, fmt, lint, builtins, std, lsp
Editor: TextMate highlighting, tasks/matchers, optional live LSP.
Still held (not in 2.0–2.1)
Package registry / lockfiles / elang add · full LSP-as-product · generics · inheritance · async / VM · try/catch · Result/Option · overloading · Point.new
Try it
pipx install echolang # or pip install .
elang --version
elang std
elang examples/yaml_and_math.echo
elang examples/std_imports.echo
elang lsp # editor starts this when echo.lsp.enabled is on