|(require syntax/parse/debug)||package: base|
The following special forms are for debugging syntax classes.
The failure S-expression shows both the raw set of failures (unsorted) and the failures with maximal progress. The maximal failures are divided into equivalence classes based on their progress (progress is a partial order); that is, failures within an equivalence class have the same progress and, in principle, pinpoint the same term as the problematic term. Multiple equivalence classes only arise from ~parse patterns (or equivalently, #:with clauses) that match computed terms or ~fail (#:fail-when, etc) clauses that allow a computed term to be pinpointed.