Skip to content

Releases: fatho/logru

v0.4.1 - "Early Christmas"

23 Dec 21:06
Compare
Choose a tag to compare

Thanks to @dcz-self again for a bunch of contributions!

Changes:

  • Addition of ScopedPrettifier as convenience wrapper to prettify solutions associated with UniverseQuerys (#31)
  • Addition of a few helpful clone instances (#33, #34)

v0.4.0 - "Concurrent Queries"

01 Dec 13:36
1bcd45f
Compare
Choose a tag to compare

Many thanks to @dcz-self for a bunch of contributions!

New features:

  • The textual language now supports line comments with % (#26)
  • VarScopes now provide additional functions to inspect the variables in the scope (#23)
  • TextualUniverse is now captured immutably by prepared queries, so that multiple queries can be run concurrently against the universe (#27)

Breaking changes:

  • SolutionIter now returns Solutions rather than Vec<_>s, making it easier to relate goal variables to solution terms (#25)
  • The concrete symbol storage used by e.g. the parser and some resolvers is now abstracted behind a SymbolStorage trait (as part of the works for #27)

v0.3.0 - "Cutting Edge"

24 Nov 20:13
Compare
Choose a tag to compare

New features:

  • Named variables and wildcards (#14)
  • Integer arithmetic (see logru::resolver::arithmetic module) (#18)
  • Extensibility through custom predicate resolvers (see Resolver trait and the REPL example) (#17 and #19)
  • Cut (#20)

Major breaking changes:

  • Numeric variable naming is no longer supported in surface language.
  • Struct CompiledRuleDb is now called RuleSet.
  • Module solver is now called search.
  • The Universe type is now roughly subsumed by the SymbolStore and RuleResolver types.
  • The NamedUniverse type has been absorbed by SymbolStore, which now provides allocating symbol
    IDs and naming them in one.

Bug fixes:

  • Occurs check did not follow bound variables (fixed in #16)

Initial Release

13 Oct 12:09
Compare
Choose a tag to compare

This release is the first version of this crate that has been pushed to crates.io: https://crates.io/crates/logru

It features:

  • A small and fast solver core implementing depth-first search.
  • A textual language for logic terms inspired by Prolog.
  • A few examples on how to use the library, including a small REPL for interactively exploring a set of rules.