Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions STATUS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Status

As of 2026-10-28. "Released" means a tagged version; "merged" means on main without a tag yet. Every child organisation has a landing, a documentation site, a brand and a profile; [go-scikit/docs](https://go-scikit.github.io/docs/latest/) links them all.
As of 2026-10-31. "Released" means a tagged version; "merged" means on main without a tag yet. Every child organisation has a landing, a documentation site, a brand and a profile; [go-scikit/docs](https://go-scikit.github.io/docs/latest/) links them all.

| # | item | home | state | evidence |
|---|---|---|---|---|
Expand All @@ -10,5 +10,5 @@ As of 2026-10-28. "Released" means a tagged version; "merged" means on main with
| 4 | filter design, filtering, spectral estimation | [go-dsp/signal](https://github.com/go-dsp/signal) ([docs](https://go-dsp.github.io/docs/latest/signal/)) | v0.1.0 released; all 28 measured cases at or below SciPy ([docs/perf.md](https://github.com/go-dsp/signal/blob/main/docs/perf.md)) | 40 Remez designs within 3e-8 of SciPy; accuracy table over 225 groups in [docs/accuracy.md](https://github.com/go-dsp/signal/blob/main/docs/accuracy.md) |
| 5 (SLSQP slice) | constrained NLP: SLSQP (`Minimize(…, SLSQP, …)` with `Constraint`, `NonlinearConstraint`, `LinearConstraint`) | [go-numerics/optimize](https://github.com/go-numerics/optimize) ([docs](https://go-numerics.github.io/docs/latest/optimize/)) | v0.3.0 released; Hock–Schittkowski cases 20–94× faster than SciPy, n = 50 with 100 bounds 1.4× ([docs/perf.md](https://github.com/go-numerics/optimize/blob/main/docs/perf.md)); interior point, QP (active set, ADMM) and global methods still planned | 100/100 statuses and 88/100 runs on SciPy 1.18.1's exact path (nit/nfev/njev, multipliers) over 36 Hock–Schittkowski problems and 10 stress cases; the other 12 are runs where SciPy's own arm64 and x86_64 wheels disagree; 100% statement coverage, fuzzed |
| 5 (rest)–22 | see [PLAN.md](PLAN.md) | | planned | |
| — | embeddable Julia: oracle harness (M0), parser (M1) and lowering (M2), see [bib/julia.md](bib/julia.md); runtime design (M3) in [bib/julia-runtime.md](bib/julia-runtime.md) | [go-embedded-julia/julia](https://github.com/go-embedded-julia/julia) | v0.1.0 (oracle + lexer), v0.2.0 (complete JuliaSyntax port) and v0.3.0 (M2 lowering: the femtolisp front end of julia 1.12.6, `lower.NewState().Lower(ex)` = `Meta.lower`) released; corpus parsed in 0.70× julia's `Meta.parseall` time on one core; M3 (Core runtime) in progress | parser: tokens, green trees and `Expr` identical to julia 1.12.6 on 1191 / 1191 files of its `share/julia` tree and 976 / 976 snippets, error messages included; where JuliaSyntax itself throws and julia falls back to flisp (3 fuzz-found inputs) an error is returned. Lowering (v0.3.0), identical to `Meta.lower` modulo gensym numbering: 53 997 / 53 997 corpus forms (1191 / 1191 files), 124 / 124 snippets, 48 / 48 hygienic-scope forms, 477 / 477 built expressions, `deparse` 119 / 119 and front-end functions 151 / 151 against `julia --lisp`; 100% statement coverage; known gap: a `Float64` in a lowering error message returns `lower.ErrUnsupported` |
| — | embeddable Julia: oracle harness (M0), parser (M1) and lowering (M2), see [bib/julia.md](bib/julia.md); runtime design (M3) in [bib/julia-runtime.md](bib/julia-runtime.md) | [go-embedded-julia/julia](https://github.com/go-embedded-julia/julia) | v0.1.0 (oracle + lexer), v0.2.0 (complete JuliaSyntax port), v0.3.0 (M2 lowering: the femtolisp front end of julia 1.12.6, `lower.NewState().Lower(ex)` = `Meta.lower`), v0.4.0 (package `core`: types, `apply_type`, subtyping and method specificity) and v0.5.0 (package `core/dispatch`: method tables, world ages, dispatch of concrete calls) released; corpus parsed in 0.70× julia's `Meta.parseall` time on one core; subtyping 1.49× **slower** than julia's `jl_subtype` on one core (3.63 ms vs 2.44 ms for the 20 000 pairs; open defect, allocation-bound, a pooling branch awaits a low-load A/B); M3 (Core runtime) in progress: types, subtyping, specificity and dispatch done; type intersection, builtins, intrinsics and the interpreter next | parser: tokens, green trees and `Expr` identical to julia 1.12.6 on 1191 / 1191 files of its `share/julia` tree and 976 / 976 snippets, error messages included; where JuliaSyntax itself throws and julia falls back to flisp (3 fuzz-found inputs) an error is returned. Lowering (v0.3.0), identical to `Meta.lower` modulo gensym numbering: 53 997 / 53 997 corpus forms (1191 / 1191 files), 124 / 124 snippets, 48 / 48 hygienic-scope forms, 477 / 477 built expressions, `deparse` 119 / 119 and front-end functions 151 / 151 against `julia --lisp`; 100% statement coverage; known gap: a `Float64` in a lowering error message returns `lower.ErrUnsupported`. `core` (v0.4.0), a port of jltypes.c and subtype.c of 1.12.6 without intersection: subtyping identical to julia on 20 000 random pairs and 4 902 cases from `test/subtype.jl`; specificity (`jl_type_morespecific`) identical to `Base.morespecific` on the same corpus. `core/dispatch` (v0.5.0): the selected method, ambiguity and no-method answers and the static parameters identical to julia's `which` and `jl_type_intersection_with_env` on 9 000 calls over 1 500 random method tables; 100% statement coverage, mutation-tested |
| — | vector-update kernels `Axpy`, `Xpby`, `AxpyDot`, `Scale` (shared by the solvers) | [go-simd/floats](https://github.com/go-simd/floats) | v0.4.0 released: SIMD on amd64 and arm64, FMA loop elsewhere | — |
Loading