Scope: HQL language and transpiler pipeline only.
Status legend:
[x] done[~] in progress[ ] not started[x] Parser now rejects malformed template interpolation bodies.
${a b} now fails (must contain exactly one expression).${} now fails (empty interpolation).tests/unit/parser-validation.test.ts.[x] AST->IR now fails fast for unknown node kinds.
ValidationError instead of being silently dropped.tests/unit/hql-ast-to-ir-validation.test.ts.[x] some now follows Clojure semantics.
[x] deepEq is now cycle-safe.
WeakMap) to avoid recursion over cyclic structures.[x] Isolate macro expansion state per transpilation unit (non-REPL path).
src/hql/s-exp/macro.ts,
src/hql/transpiler/hql-transpiler.ts.[x] Make semantic validation two-pass for top-level forward-reference/TDZ
correctness.
(let y x) before (let x 1) can slip through validation.src/hql/transpiler/pipeline/semantic-validator.ts.[x] Enforce fail-fast for unknown AST->IR nodes.
null drop can silently lose code.src/hql/transpiler/pipeline/hql-ast-to-hql-ir.ts.[x] Strengthen effect purity call-site checking for aliases/indirection.
src/hql/transpiler/pipeline/effects/effect-infer.ts.[x] Fix stdlib some semantics to return predicate result (Clojure
semantics), not matched item.
src/hql/lib/stdlib/stdlib.hql.[x] Make deepEq cycle-safe.
src/hql/lib/stdlib/stdlib.hql.[x] Close stdlib/runtime typing drift (get/update/mapT/...) to eliminate
false-positive type errors.
src/hql/transpiler/pipeline/ts-compiler.ts, stdlib
declarations.[ ] Preserve source metadata across syntax rewrites.
src/hql/transpiler/pipeline/syntax-transformer.ts.[x] Complete function type parameter parsing for (-> [params] Ret).
src/hql/transpiler/pipeline/hql-ast-to-hql-ir.ts.[x] Restrict _ lowering to pattern contexts only.
src/hql/transpiler/pipeline/hql-ast-to-hql-ir.ts.[ ] Remove shared global symbol-table defaults from compiler path.
src/hql/transpiler/pipeline/syntax-transformer.ts,
src/hql/transpiler/hql-transpiler.ts.[ ] Improve module-aware TypeScript check host behavior.
src/hql/transpiler/pipeline/ts-compiler.ts.[ ] Optimize distinct to avoid repeated Set-copy behavior.
src/hql/lib/stdlib/stdlib.hql (and/or core chunked fast path
usage).[ ] Define and test array edge semantics for assoc/dissoc (negative,
out-of-range, sparse behavior).
src/hql/lib/stdlib/stdlib.hql + tests.[ ] Expand source-map runtime portability hardening.
src/hql/transpiler/pipeline/source-map-support.ts.[ ] Tighten TS->HQL mapping fallback strategy for diagnostics.
src/hql/transpiler/pipeline/source-map-chain.ts.[ ] Enforce template nesting depth limits.
src/hql/transpiler/pipeline/parser.ts, constants.[ ] Decide macro max-depth overflow policy (fail-fast preferred).
src/hql/s-exp/macro.ts.[ ] Clojure parity gap decisions (documented explicit choices):
list, conj nil)remove, complement, fnil,
select-keys, merge-with, reduce-kv)tests/unit/stdlib-map-ops.test.ts and
tests/unit/syntax-spread-operator.test.ts: passing.tests/unit/parser-validation.test.ts: passing with new template regression
coverage.tests/unit/syntax-template-literals.test.ts: passing.tests/unit/macro-edge-cases.test.ts: currently has two Deno resource-leak
failures to investigate separately.