maude: load-order.txt single-source manifest (driver-level facade; .sx facade proven infeasible)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 29s

load is an epoch command not an evaluator symbol, so an .sx file can't wrap the
load list. Extract the dependency-ordered file list to lib/maude/load-order.txt;
conformance.conf reads it via mapfile. 274/274 green. lib/artdag can source the
same file to drop its duplicated load lines.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 12:34:53 +00:00
parent 2fc8c24163
commit c1232c42f2
3 changed files with 59 additions and 32 deletions

View File

@@ -3,24 +3,10 @@
LANG_NAME=maude
MODE=dict
PRELOADS=(
lib/guest/lex.sx
lib/guest/pratt.sx
lib/maude/term.sx
lib/maude/parser.sx
lib/maude/sorts.sx
lib/maude/reduce.sx
lib/maude/matching.sx
lib/maude/conditional.sx
lib/maude/fire.sx
lib/maude/confluence.sx
lib/maude/rewrite.sx
lib/maude/searchpath.sx
lib/maude/strategy.sx
lib/maude/meta.sx
lib/maude/pretty.sx
lib/maude/run.sx
)
# Load order is the single source of truth in load-order.txt (also consumable
# by other drivers, e.g. lib/artdag). Sourced after the driver cd's to repo
# top-level, so the relative path resolves; #-comments and blanks are stripped.
mapfile -t PRELOADS < <(grep -vE '^[[:space:]]*(#|$)' lib/maude/load-order.txt)
SUITES=(
"parse:lib/maude/tests/parse.sx:(mau-parse-tests-run!)"

23
lib/maude/load-order.txt Normal file
View File

@@ -0,0 +1,23 @@
# lib/maude load order — single source of truth for the dependency-ordered
# file list needed to load the maude engine (parser + rewriting + confluence +
# reflection). Sourced by lib/maude/conformance.conf; other drivers (e.g.
# lib/artdag, which today hardcodes its own copy of these load lines) can read
# the same list instead of duplicating it, so a file rename here is a one-line
# change. Repo-root-relative paths, one per line; blank lines and #-comments
# are ignored by readers.
lib/guest/lex.sx
lib/guest/pratt.sx
lib/maude/term.sx
lib/maude/parser.sx
lib/maude/sorts.sx
lib/maude/reduce.sx
lib/maude/matching.sx
lib/maude/conditional.sx
lib/maude/fire.sx
lib/maude/confluence.sx
lib/maude/rewrite.sx
lib/maude/searchpath.sx
lib/maude/strategy.sx
lib/maude/meta.sx
lib/maude/pretty.sx
lib/maude/run.sx