![]() When `or` has many subexpressions, the expansion generates a sequence of deeply nested `let`s, where original and macro-introduced forms are interleaved in a way that defeats a minimal child-is-same-as-parent sharing of scope sets. Add a small cache that's good enough to capture extra sharing and dramatically lower memory use for an `or` that has 1000 subexpressions. |
||
---|---|---|
.. | ||
tests | ||
info.rkt | ||
LICENSE.txt |