Spaces:
Sleeping
Sleeping
| """ Rewrite Rules | |
| DISCLAIMER: This module is experimental. The interface is subject to change. | |
| A rule is a function that transforms one expression into another | |
| Rule :: Expr -> Expr | |
| A strategy is a function that says how a rule should be applied to a syntax | |
| tree. In general strategies take rules and produce a new rule | |
| Strategy :: [Rules], Other-stuff -> Rule | |
| This allows developers to separate a mathematical transformation from the | |
| algorithmic details of applying that transformation. The goal is to separate | |
| the work of mathematical programming from algorithmic programming. | |
| Submodules | |
| strategies.rl - some fundamental rules | |
| strategies.core - generic non-SymPy specific strategies | |
| strategies.traverse - strategies that traverse a SymPy tree | |
| strategies.tools - some conglomerate strategies that do depend on SymPy | |
| """ | |
| from . import rl | |
| from . import traverse | |
| from .rl import rm_id, unpack, flatten, sort, glom, distribute, rebuild | |
| from .util import new | |
| from .core import ( | |
| condition, debug, chain, null_safe, do_one, exhaust, minimize, tryit) | |
| from .tools import canon, typed | |
| from . import branch | |
| __all__ = [ | |
| 'rl', | |
| 'traverse', | |
| 'rm_id', 'unpack', 'flatten', 'sort', 'glom', 'distribute', 'rebuild', | |
| 'new', | |
| 'condition', 'debug', 'chain', 'null_safe', 'do_one', 'exhaust', | |
| 'minimize', 'tryit', | |
| 'canon', 'typed', | |
| 'branch', | |
| ] | |