8a009df4a3
haskell: merge loops/haskell — Phases 1–6 complete (775 tests)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 54s
Parser, layout, desugar, lazy eval, ADTs, HM inference, typeclasses
(Eq/Ord/Show/Num/Functor/Monad), real IO monad, full Prelude. 775/775
green across 13 program suites.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 18:28:12 +00:00
2249863d2d
tcl: Phase 3 OCaml primitives — file I/O + clock; refresh prolog scoreboard
...
file-read/write/append/exists?/glob + clock-seconds/milliseconds/format
registered in sx_primitives.ml; unix dep added to dune. Unlocks Tcl
open/read/puts-to-file, glob, clock seconds/format commands.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 18:27:48 +00:00
859361d86a
plans: haskell-completeness phases 7-16 + updated loop briefing
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 23s
String=[Char] via pure-SX views, show, error, numeric tower,
Data.Map, Data.Set, records, IORef, exceptions. Briefing updated
to point at new plan; old phases 1-6 plan untouched.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 17:40:53 +00:00
09d65d2d7b
haskell: 13 new program suites + scoreboard 156/156 (775 tests)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 24s
collatz, palindrome, maybe, fizzbuzz, anagram, roman, binary, either,
primes, zipwith, matrix, wordcount, powers — all 18/18 programs green.
conformance.sh PROGRAMS array updated; scoreboard.md regenerated.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 17:02:02 +00:00
f86d07401d
plans: tick Phase 6 prelude + progress log (635/635)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 15:51:36 +00:00
6bfb7b19f4
haskell: Phase 6 prelude extras (635/635)
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
- hk-list-append: string ++ string via str (fixes unwords/unlines/intercalate)
- --sx-to-hk-- in words/lines builtins: use ":"/"[]" not "Cons"/"Nil"
- lines builtin: empty-string case returns ("[]") not ("Nil")
- New test file prelude-extra.sx: 47 tests covering ord, isAlpha/isDigit/
isSpace/isUpper/isLower/isAlphaNum, digitToInt, words, lines, unwords,
unlines, sort, nub, splitAt, span, break, partition, intercalate,
intersperse, isPrefixOf, isSuffixOf, isInfixOf
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 15:51:12 +00:00
74e020359f
plans: tick Phase 1 apply in tcl-sx-completion
2026-05-06 15:37:40 +00:00
db52a6d77c
plans: tick Phase 1 regexp/regsub in tcl-sx-completion
2026-05-06 15:31:55 +00:00
679b45e3fc
plans: tick Phase 1 float expr, add progress log to tcl-sx-completion
2026-05-06 15:20:17 +00:00
041cb9f3ef
haskell: getLine/getContents/readFile/writeFile + 0-arity builtin force (+12 tests, 587/587)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 21s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 13:43:13 +00:00
096faf2c40
plans: tcl-sx-completion — phased plan for remaining Tcl limitations
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 17s
Phase 1: zero-cost wins (float/regex/apply/arrays, no SX changes)
Phase 2: lib/fiber.sx (pure SX fibers via call/cc + set!)
Phase 3: small OCaml additions (file-read, clock-seconds, etc.)
Phase 4: env-as-value (optional architectural cleanup)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 13:21:59 +00:00
578e54f06d
haskell: real IO monad — putStrLn/print/putStr + hk-run-io (+10 tests, 575/575)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 20s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 13:10:42 +00:00
1c45262577
haskell: deriving (Eq, Show) for ADTs (+11 tests, 565/565)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 34s
Parser parses optional deriving clause; only appended to AST when non-empty.
hk-bind-decls! data arm generates dictShow_Con / dictEq_Con per constructor.
hk-binop == and /= now deep-force both sides (SX dict equality is by
reference — two thunks wrapping the same value compared as not-equal without
this). Three token-type fixes in the deriving parser (lparen/rparen/comma,
not "special").
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 12:25:51 +00:00
bf190b8fc4
tcl: merge loops/tcl — complete Tcl 8.6 subset (329 tests)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 52s
Phases 1-6: Dodekalogue tokenizer/parser, eval engine, expr mini-language,
string/list/dict commands, proc + uplevel/upvar (the headline showcase),
catch/try/throw, namespaces + ensembles, generator coroutines, idiom corpus.
Resolved add/add conflicts by taking loops/tcl (the complete tested impl)
over the architecture branch's earlier prototype.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 11:36:59 +00:00
74ce9e7c75
merge loops/prolog: complete Prolog-on-SX implementation
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 47s
590 tests passing across 29 suites. Brings in: parser, runtime,
query API, compiler, conformance harness, integration suite, and
hs-bridge (combined hook + factory styles).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 11:20:44 +00:00
bc45b7abf5
tcl: tick Phase 6 checkboxes, update progress log
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 33s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 11:06:05 +00:00
2c61be39de
tcl: Phase 6 coroutines + clock/file stubs + idiom corpus (+40 tests, 329 total)
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
- Coroutines (generator-style): coroutine/yield/yieldto commands; eager yield
collection during body execution, pop-on-call dispatch via registered command
closures; coro-yields + coroutines threaded through tcl-call-proc
- info exists varname (plus hostname/script/tclversion stubs)
- clock seconds/milliseconds/format/scan stubs
- File I/O stubs: open/close/read/eof/seek/tell/flush + file subcommands
- format command: full %-specifier parsing with flags, width, zero-pad, left-align
- Fixed dict set/unset/incr/append/update to use tcl-var-get (upvar alias aware)
- Fixed lappend and append to use tcl-var-get for reading (upvar alias aware)
- 20 coroutine tests (coro.sx) + 20 idiom corpus tests (idioms.sx)
- event-loop.tcl program: cooperative scheduler demo using coroutines
- Note: coroutines eagerly collect yields (generator-style, not true suspension)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 11:05:28 +00:00
6c1a953c80
plans: tick standard classes + progress log
Test, Build, and Deploy / test-build-deploy (push) Failing after 42s
2026-05-06 10:57:41 +00:00
d3e71ba356
haskell: standard classes — show, Ord, Num, Functor, Monad prelude (+48 tests, 554/554)
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
2026-05-06 10:57:20 +00:00
ea064346e1
tcl: tick Phase 5 checkboxes, update progress log
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 45s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 10:21:47 +00:00
23c44cf6cf
tcl: Phase 5 namespaces + ensembles (+22 tests, 289 total)
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Implements namespace eval, current, which, exists, delete, export,
import, forget, path, and ensemble create (auto-map + -map). Procs
defined inside namespace eval are stored as fully-qualified names
(::ns::proc), resolved relative to the calling namespace at lookup
time. Proc bodies execute in their defining namespace so sibling
calls work without qualification.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 10:21:21 +00:00
5e0fcb9316
tcl: tick Phase 4 checkboxes, update progress log
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 49s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:59:09 +00:00
d295ab8463
tcl: Phase 4 error handling — catch/try/throw/return-code (+39 tests, 267 total)
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Implements catch, throw, try, return -code options, and error with
errorinfo/errorcode fields. catch runs sub-script isolated, captures
result and exit code (0-4); try dispatches on/finally clauses;
throw sets code 1 with errorcode; return -code parses flag options.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:58:32 +00:00
afddc92c70
tcl: update progress log with conformance/classic programs entry
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 38s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:45:07 +00:00
95f96efb78
tcl: conformance.sh + scoreboard, annotate classic programs
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Adds lib/tcl/conformance.sh: runs .tcl programs through the epoch
protocol, compares against # expected: annotations, writes
scoreboard.json and scoreboard.md. All 3 classic programs pass.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:44:44 +00:00
95b22a648d
tcl: classic programs — for-each-line, assert, with-temp-var (+3 tests, 228 total)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 42s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:34:26 +00:00
cffd3bec83
tcl: tick Phase 3 core checkboxes, update progress log
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 45s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:31:17 +00:00
eb5babaf99
tcl: proc + uplevel + upvar + global + variable + info (+19 tests, 225 total)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 48s
Phase 3 headline feature: everything falls out of SX's first-class env chain.
- make-tcl-interp extended with :frame-stack and :procs fields
- proc: user-defined commands with param binding, rest args, isolated scope
- uplevel: run script in ancestor frame with correct frame propagation
- upvar: alias local name to remote frame variable (get/set follow alias)
- global/variable: sugar for upvar #0
- info: level, vars, locals, globals, commands, procs, args, body
- tcl-call-proc propagates updated frames back to caller after proc returns
- test.sh timeout bumped to 90s for larger runtime
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:30:28 +00:00
985671cd76
hs: query targets, prolog hook, loop scripts, new plans, WASM regen
...
Hyperscript compiler/runtime:
- query target support in set/fire/put commands
- hs-set-prolog-hook! / hs-prolog-hook / hs-prolog in runtime
- runtime log-capture cleanup
Scripts: sx-loops-up/down, sx-hs-e-up/down, sx-primitives-down
Plans: datalog, elixir, elm, go, koka, minikanren, ocaml, hs-bucket-f,
designs (breakpoint, null-safety, step-limit, tell, cookies, eval,
plugin-system)
lib/prolog/hs-bridge.sx: initial hook-based bridge draft
lib/common-lisp/tests/runtime.sx: CL runtime tests
WASM: regenerate sx_browser.bc.js from updated hs sources
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:19:56 +00:00
a49b1a9f79
tcl: tick dict/60+ tests checkboxes, update progress log
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 38s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:00:39 +00:00
263d9aae68
tcl: dict commands — 13 subcommands (+24 tests, 206 total)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 13s
Implements tcl-cmd-dict with create/get/set/unset/exists/keys/values/
size/for/update/merge/incr/append subcommands, plus helpers
tcl-dict-to-pairs, tcl-dict-from-pairs, tcl-dict-get, tcl-dict-set-pair,
tcl-dict-unset-key. Registers "dict" in make-default-tcl-interp.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:00:13 +00:00
fb51620a4c
plans: tick dict-passing elaborator + progress log
Test, Build, and Deploy / test-build-deploy (push) Failing after 36s
2026-05-06 08:57:23 +00:00
60a8eb24e0
haskell: dict-passing elaborator — runtime dispatch via hk-mk-lazy-builtin (+3 tests, 506/506)
Test, Build, and Deploy / test-build-deploy (push) Failing after 35s
2026-05-06 08:56:39 +00:00
0dbf9b9f73
tcl: tick list commands checkbox, update progress log
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 44s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 08:54:47 +00:00
7b11f3d44a
tcl: list commands — 12 commands (+26 tests, 182 total)
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 08:54:24 +00:00
a26be0bfd0
tcl: tick string commands checkbox, update progress log
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 34s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 08:49:17 +00:00
9ed3e4faaf
tcl: string command — 16 subcommands + 29 tests (156 total)
...
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled
Implements tcl-cmd-string covering length, index, range, compare, match
(glob * and ?), toupper, tolower, trim/trimleft/trimright, map, repeat,
first, last, is (integer/double/alpha/alnum/digit/space/upper/lower/boolean),
and cat. All 156 tcl tests pass (parse: 67, eval: 89).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 08:48:43 +00:00
ac013c9381
tcl: expr mini-language — recursive descent parser (+20 tests, 127 total)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 42s
Replaces 3-token flat evaluator with full recursive descent parser:
operator precedence, parentheses, unary ops, ** power, function calls
(abs/sqrt/pow/max/min/int/double), expression tokenizer for dense syntax.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 08:43:02 +00:00
f07b6e497e
prolog: Hyperscript bridge (+19)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 51s
pl-hs-query, pl-hs-predicate/1,2,3, pl-hs-install in hs-bridge.sx.
No parser/compiler changes: Hyperscript already compiles
`when allowed(user, action)` to (allowed user action).
Total 590/590.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 08:30:46 +00:00
72ccaf4565
briefing: push to origin/loops/tcl after each commit
Test, Build, and Deploy / test-build-deploy (push) Failing after 44s
2026-05-06 06:47:36 +00:00
41a69ecca7
haskell: class/instance declarations — parse + instance dict eval (+11 tests, 503/503)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 53s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 00:22:44 +00:00
5c00b5c58b
haskell: inference unit tests — 55+ expressions, Phase 4 complete (+16 tests, 492/492)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 45s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 23:47:57 +00:00
622c0851ce
haskell: let-polymorphism tests — id/const/nested/twice at multiple types (+6 tests, 476/476)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 47s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 23:26:01 +00:00
d8f3f8c3b2
haskell: type-sig checking — hk-ast-type + hk-check-sig + sig-aware infer-prog (+6 tests, 470/470)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 39s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 23:02:34 +00:00
2606b83920
haskell: reject untypeable programs — hk-typecheck + hk-run-typed (+9 tests, 464/464)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 46s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 22:32:18 +00:00
68124adc3b
haskell: type error reporting — hk-expr->brief + hk-infer-decl/prog (+21 tests, 455/455)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 48s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 21:40:16 +00:00
ef736112ef
prolog: integration test suite (+20)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 40s
20 end-to-end tests via pl-query-* API: permission system, graph
reachability, quicksort, dynamic KB, fibonacci. Total 571/571.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 20:41:45 +00:00
8f3b0d9301
haskell: Algorithm W type inference + 32 tests (434/434)
...
Test, Build, and Deploy / test-build-deploy (push) Failing after 43s
Full HM inference in lib/haskell/infer.sx: unification, substitution,
occurs check, instantiation, generalisation, let-polymorphism.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 20:26:44 +00:00
5a402a02be
briefing: push to origin/loops/haskell after each commit
Test, Build, and Deploy / test-build-deploy (push) Failing after 41s
2026-05-05 20:15:35 +00:00
e4eab6a309
briefing: push after each commit, unblock hyperscript bridge
Test, Build, and Deploy / test-build-deploy (push) Failing after 45s
2026-05-05 20:15:33 +00:00