This repository was archived by the owner on Jun 18, 2025. It is now read-only.
Convert analyzer to scmutils interface #357
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The new analyzer namespace allows for more interactive exploration and simplification of expressions with our polynomial and rational function simplifiers. This PR also brings us fully into line with the scmutils simplification system.
From the CHANGELOG:
Adds the ability to do incremental simplification, every time an operation
is performed involving a symbolic expression. Bind
sicmutils.numsymb/*incremental-simplifier*
to a function from rawexpression -> raw expression, like
sicmutils.simplify/simplify-expression
or any of the rules in
sicmutils.simplify.rules
to enable this behavior.Expands the
sicmutils.expression.analyze
API with the functionsdefault-simplifier
,expression-simplifier
,initializer
,expression-analyzer
andauxiliary-variable-fetcher
. See the APIdocumentation
for detailed notes on how to do interactive expression analysis and
simplification with these new tools.
by default, each simplification pass uses both rational function and
polynomial canonicalization. This brings the simplifier into line with the
scmutils simplifier.