3 ms·
Specter is tremendously useful and rarely lets on a case where it can’t perform a transformation. For ensuring that you’re getting the most efficient form of a
by tekacs 6y ago
Specter is tremendously useful and rarely lets on a case where it can’t perform a transformation. For ensuring that you’re getting the most efficient form of a transformation [0] it’s incredible —- and it is somewhat data-oriented, allowing easy saving and reuse of navigators.
Meander [1] is also wonderful. Its unification-based approach makes for nice expressions of intent. Its strategy-based approach to rewriting [2] is more flexible than most common walker libraries, too.
[0]: https://github.com/redplanetlabs/specter/wiki/Specter's-inline-caching-implementation https://github.com/redplanetlabs/specter/wiki/Specter's-inli...
[1]: https://github.com/noprompt/meander https://github.com/noprompt/meander
[2]: https://github.com/noprompt/meander/blob/epsilon/doc/strategies.md https://github.com/noprompt/meander/blob/epsilon/doc/strateg...