diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-01-14 19:27:20 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-01-14 19:27:20 -0800 |
commit | 8f1e72388fc75e12e4122e1ceed03c5cdc2d6c9a (patch) | |
tree | d9d72a736362bf368fdcec4042cad24833904f27 /LICENSE | |
parent | 10e62124c5c19ccdc9afe14d7586ad0efa500283 (diff) | |
download | txr-8f1e72388fc75e12e4122e1ceed03c5cdc2d6c9a.tar.gz txr-8f1e72388fc75e12e4122e1ceed03c5cdc2d6c9a.tar.bz2 txr-8f1e72388fc75e12e4122e1ceed03c5cdc2d6c9a.zip |
matcher: factor out vars into common base.
* share/txr/stdlib/match.tl (match-vars): New struct.
Holds vars and expressions, and provides the method to
zipper them up into the assignments.
(match-guard, compiled-match): Inherit from match vars.
match-guard loses temps and temp-exprs. It now has
vars and var-exprs from the base and those are used
instead.
(compiled-match get-temps): Follow temps vars rename.
(compiled-match wrap-guards): Use assignments method
inherited from base instead of assignments function.
(assignments): Function removed.
(compile-struct-match, compile-vec-match,
compile-cons-structure): Follow vars temps rename in
match-guard struct.
(when-mach): Use assignments method of compiled-match instead
of assignments function.
Diffstat (limited to 'LICENSE')
0 files changed, 0 insertions, 0 deletions