Metatheory.jl Versions Save

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

v2.0.2

6 months ago

Metatheory v2.0.2

Diff since v2.0.1

Merged pull requests:

  • remove print statement in init (#155) (@willow-ahrens)
  • Create dependabot.yml (#159) (@ranocha)
  • Bump actions/checkout from 2 to 3 (#160) (@dependabot[bot])
  • Bump actions/cache from 1 to 3 (#161) (@dependabot[bot])
  • Bump codecov/codecov-action from 1 to 3 (#162) (@dependabot[bot])
  • Bump actions/checkout from 3 to 4 (#165) (@dependabot[bot])
  • Remove noise in tests, restructure tests, update deps (#167) (@0x0f0f0f)
  • Add debugging and GraphViz visualization utilities (#169) (@0x0f0f0f)
  • Allow use of local buffers (#170) (@rayegun)
  • Allow local buffers (#172) (@0x0f0f0f)

Closed issues:

  • Refactor Codebase (#107)
  • Struct-Valued Analysis Cause Infinite Loop (#153)
  • regression in simplification compared to v1 (#166)
  • Try Dictionaries.jl (#168)

v2.0.1

1 year ago

Metatheory v2.0.1

Diff since v2.0.0

Closed issues:

  • Make the EGraph pattern matcher instantiate to ENodes instead of actual expressions with eclasses as children. (#83)
  • Register (#135)
  • 2.0 Docs not deploying (#149)
  • Should egraph hang on cancellation rule? (#154)

Merged pull requests:

  • One-line change to fix error message (#152) (@kylebd99)

v2.0.0

1 year ago

Metatheory v2.0.0

Diff since v1.4.0

Closed issues:

  • Rule Macro Quotes Function Names (#87)
  • Fix CI (#136)
  • Scope of classic @rule matcher (#137)
  • @areequal not working with matching multiple sub-expressions (xs...) (#141)
  • OddEvenAnalysis in the docs is implemented incorrectly (#146)

Merged pull requests:

  • CompatHelper: bump compat for TermInterface to 0.3, (keep existing compat) (#133) (@github-actions[bot])
  • fixed issues discovered bj JET.jl (#138) (@dpinol)
  • bump DocStringExtensions (#139) (@t-bltg)
  • DocStringExtensions 0.9 (#140) (@chriselrod)
  • Version 2.0.0 (#144) (@0x0f0f0f)

v1.3.5

1 year ago

Metatheory v1.3.5

Diff since v1.3.4

Closed issues:

  • Rule Macro Quotes Function Names (#87)
  • Unable to saturate (#124)

Merged pull requests:

  • Fixed a few typos (#127) (@pitmonticone)
  • Minor optimizations and refactors (#128) (@0x0f0f0f)
  • Bump docstring extensions (#131) (@ChrisRackauckas)
  • CompatHelper: bump compat for TermInterface to 0.3, (keep existing compat) (#133) (@github-actions[bot])
  • DocStringExtensions 0.9 (#140) (@chriselrod)

v1.4.0

1 year ago

Metatheory v1.4.0

Diff since v1.3.4

Closed issues:

  • Unable to saturate (#124)

Merged pull requests:

  • Fixed a few typos (#127) (@pitmonticone)
  • Minor optimizations and refactors (#128) (@0x0f0f0f)
  • Bump docstring extensions (#131) (@ChrisRackauckas)

v1.3.4

1 year ago

Metatheory v1.3.4

Diff since v1.3.3

Closed issues:

  • PatSegment (AKA slotvars in SymbolicUtils.jl) not implemented for new classical rewriting module. (#72)
  • istree(e::T) versus istree(T) (#90)
  • Monoid macro in Metatheory.Library missing interpolation (#98)
  • Extracting an Expr from ENodeTerm (#102)
  • EqualityRule does not support user defined types (#103)
  • EGraph saturation does not run its iterations (#104)
  • how could I pass the automatically generated rules into @rule and @theory macro? (#116)
  • Predicates does not work in Egraph saturation? (#117)
  • dynamic rule for egraph has weird behaviour of push! append! operation on vectors (#120)
  • bug in @areequal (#121)
  • project that manipulate quantum circuit using Metatheory.jl (#122)
  • Predicates not working in egraph (#123)

Merged pull requests:

  • fix small typo in egraphs.md (#91) (@herrgahr)
  • Fix binarization type inconsistency bug issue #95 (#96) (@0x0f0f0f)
  • Fix the library macros (#100) (@0x0f0f0f)
  • Similarterm, istree and issym only dispatch on objects and not on types. Fix EGraphs tests (#101) (@0x0f0f0f)
  • version bump (v2.0.0-DEV) (#106) (@Wilkenfeld)
  • add julia-format workflow (#108) (@Wilkenfeld)
  • format codebase (#109) (@Wilkenfeld)
  • Structure tests in testsets & Separate unit and integration tests (#112) (@Wilkenfeld)
  • Simplify E-Graph Analysis Interface. Use Symbols or functions for identifying Analyses. Remove duplicates in E-Graph analyses data. (#115) (@0x0f0f0f)
  • Remove unneeded prints (#118) (@Wilkenfeld)

v1.3.3

2 years ago

Metatheory v1.3.3

Diff since v1.3.2

  • Store references to egraph in every eclass
  • Fixed @capture macro not working
  • Various bug fixes and test fixes

Closed issues:

  • The capture macro does not escape the left hand side pattern before splatting (#86)
  • Simple rules do not work (#88)

Merged pull requests:

  • avoid conversion from ENodeTerm to ENodeLiteral (#85) (@emaibb)

v1.3.2

2 years ago

Metatheory v1.3.2

Diff since v1.3.1

Fix a bug in syntax for using segment variables with splat operator syntax: @rule x f(x...) => ...

v1.3.1

2 years ago

Metatheory v1.3.1

Diff since v1.3.0

v1.3.0

2 years ago

Metatheory v1.3.0

Diff since v1.2.1

  • Custom similarterm can be passed to extract!
  • SaturationParams now has a timelimit field of type Dates.Period that can be used to halt saturation after a time period has elapsed.
  • Minor tweaks and optimizations in extraction

Closed issues:

  • Remove unsorted_arguments from Walks in Rewriters (#84)