Metatheory.jl icon indicating copy to clipboard operation
Metatheory.jl copied to clipboard

Makes Julia reason with equations. General purpose metaprogramming, symbolic computation and algebraic equational reasoning library for the Julia programming language: E-Graphs & equality saturation,...

Results 66 Metatheory.jl issues
Sort by recently updated
recently updated
newest added

It seems that the symbol cache is not working correctly. It is used to reduce the search space in terms of eclasses when performing e-matching, and should be a map...

By now, code blocks behave as n-ary operators. What can be a good way for better integration of expressions like `:(begin x; y; z end)`? cc @thautwarm

See for example https://gist.github.com/MasonProtter/0b8717d0e371b8a6efb1a697555c06a8

documentation
enhancement

Support splatting in left and right hand of rules in the e-graph e-matcher. Example: ```julia t = @theory begin f(args...) => foo(args[1:2]...) + bar(args[2:end]...) end ``` This is already supported...

enhancement
help wanted

The `EGraph` type and operations extensively use dictionaries. Consider performance tips from the Julia manual: https://docs.julialang.org/en/v1/manual/performance-tips/ - Replace unefficient/memory hungry data structures (dictionaries, sets, dynamic arrays) with more efficient and...

enhancement

Efficiency? Stability?

enhancement

Working with matching single sub-expressions, ```julia julia> r = @rule *(~y, 3)^~x => :($y^$x * 3^$x); julia> r(:((7* 3)^4)) :(7 ^ 4 * 3 ^ 4) julia> @areequal [r] (7...

Following this PR, a `Metatheory` version bump to `1.4.1` would be appreciated.

Hi, after patching JET.jl with [this not yet merged PR](https://github.com/aviatesk/JET.jl/pull/380), it's now possible to run `report_package(Metatheory)` with Julia 1.8. The current PR fixes most real issues reported by JET. Namely:...