compile/special-match

Symbol: compile/special-match

Syntax: (special-match NAME (PATTERN BODY ...) ...)

Use-case: MATCH-dialect special rules, as compile/special-rules takes RULE-dialect ones.

Behaviour: As compile/special-rules, except that there is no LITERALS list, the inner pattern is in the explicit matcher dialect, and the body takes one parameter per pattern slot after the compiler, bound to None when unbound. An inner pattern head spelling NAME is a slot bound to the symbol the special was invoked as, so a renamed import still matches; any other head is a literal. A bare symbol as the inner pattern matches any form and binds its elements under that name.

Also: layout handler special-match.