summaryrefslogtreecommitdiffstats
path: root/combi.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-01-22 19:00:20 -0800
committerKaz Kylheku <kaz@kylheku.com>2021-01-22 19:00:20 -0800
commit96b15f85c3e0ff293cf85dd818967be231d879d5 (patch)
tree66abecdbe38d0dcb45823bf4a5b75c5803440467 /combi.h
parent7af73f4d549a25b41e8278a3a26bed3603e31bc1 (diff)
downloadtxr-96b15f85c3e0ff293cf85dd818967be231d879d5.tar.gz
txr-96b15f85c3e0ff293cf85dd818967be231d879d5.tar.bz2
txr-96b15f85c3e0ff293cf85dd818967be231d879d5.zip
matcher: bugfix: boostrapping chicken-egg-problem.
The previous commit made the general pattern matcher dependent on calling non-triv-pat-p function. But that function needs the matcher to work in order to be defined. This has left the code base uncompilable. * share/txr/stdlib/match.tl (non-triv-pat-p): Precede the real definition of non-triv-pat-p with a temporary one which returns a conservative t value, which suspects all syntx to be non-trivial. This means that the real non-triv-pat-p can use match-case, because match-case's expander will be using the temporary version of the function. non-triv-pat-p won't benefit from the optimizations arising from identifying trivial patterns: but since it doesn't have any such patterns, so it makes no difference.
Diffstat (limited to 'combi.h')
0 files changed, 0 insertions, 0 deletions