seq 7 migration #76
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
seq-lisp-2-backport
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
navicore/seq-lisp!76
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "seq-7-migration"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Confirmed — that earlier exit=0 was tail's exit code on empty input. The deep-tco test is just slow (~10 min), correctly times out at 15s when I cap it.
The GitHub workflow's 30-min timeout is plenty.
Migration complete.
Final state vs. the design doc:
┌───────────────────────────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ File │ Change │
├───────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ src/repl.seq │ io.read-line+ → io.read-line with branch swap. Original "\n" string.concat restored (dead code preserved │
│ │ exactly). Sexpr → SexprList on 3 REPL words. │
├───────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ src/eval.seq │ io.read-line+ → io.read-line with branch swap. List → Variant on 2 stack effects. │
├───────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ src/vim-line.seq │ union UndoList → union UndoStack (matches dominant name in 41 stack effects). History/Acc → SexprList on 13 │
│ │ word definitions. Sexpr → SexprList on 3 vim-edit* words. │
├───────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ tests/lisp/reader/eval.slisp │ TCO test depth 10000 → 1000 (5 sites) to keep routine CI fast. │
├───────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ tests/lisp/reader/eval-deep-tco.slisp │ New. Depth-10000 versions of the 5 TCO tests. │
├───────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ justfile │ New deep-tco recipe. │
├───────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ .github/workflows/deep-ci.yml │ New. Runs just deep-tco on push to main and via manual dispatch. │
└───────────────────────────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Checkpoints:
and runs fast)
Behavior-correctness fix during the iteration: I had added string.chomp thinking old io.read-line+ stripped the newline (per a misleading comment in
read-all-stdin). Checking the patch-seq runtime source proved otherwise — old io.read-line+ preserved the \n — so chomp was reverted. The LSP test suite
catches this case at lib/lsp.slisp:184, where Content-Length parsing assumes 1 trailing newline char.