|
|
1ea80a2b71
|
Add comprehensive spec tests: 132 primitives + 9 freeze/thaw
Build and Deploy / build-and-deploy (push) Successful in 17s
spec/tests/test-primitives.sx — 132 tests covering:
arithmetic (20), comparison (14), predicates (18), strings (25),
lists (24), dicts (12), higher-order (14), type coercion (5)
spec/tests/test-freeze.sx — 9 tests covering:
freeze-scope (4), content-addressing (5)
Full round-trip: freeze → serialize → parse → thaw → same values
hosts/javascript/run_tests.js — Node.js test harness
Loads sx-browser.js, provides platform test functions,
evaluates spec/tests/*.sx files
All tests pass on both Python and JavaScript hosts.
Host-dependent behaviour (str(true), mod negative) handled gracefully.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-03-15 10:37:07 +00:00 |
|
|
|
05f7b10864
|
Phase 2: Move core spec files to spec/ and spec/tests/
git mv eval.sx, parser.sx, primitives.sx, render.sx, cek.sx, frames.sx,
continuations.sx, callcc.sx, types.sx, special-forms.sx → spec/
Tests → spec/tests/
Both bootstrappers verified — find files via spec/ → web/ → shared/sx/ref/
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-03-15 02:12:13 +00:00 |
|
|
|
1a3d7b3d77
|
Separate core spec from web framework
Build and Deploy / build-and-deploy (push) Successful in 4m49s
Three-layer architecture:
spec/ — Core language (19 files): evaluator, parser, primitives,
CEK machine, types, continuations. Host-independent.
web/ — Web framework (20 files): signals, adapters, engine,
orchestration, boot, router, CSSX. Built on core spec.
sx/ — Application (sx-docs website). Built on web framework.
Split boundary.sx into boundary-core.sx (type-of, make-env, identical?)
and boundary-web.sx (IO primitives, signals, spreads, page helpers).
Bootstrappers search spec/ → web/ → shared/sx/ref/ for .sx files.
Original files remain in shared/sx/ref/ as fallback during transition.
All 63 tests pass.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-03-15 01:42:19 +00:00 |
|