Skip to content

Releases: UnitTestBot/klogic

0.2.1

04 Oct 10:05
6588257
Compare
Choose a tag to compare

What's Changed

  • Special case for the single element in streams in #18
  • Implemented wildcards in unifications and disequality constraints in #17
  • Fixed creation of logic bools in #19

Full Changelog: v0.2.0...v0.2.1

0.2.0

20 Jun 12:56
9e234bb
Compare
Choose a tag to compare

Introduced the RelationalContext - a global context for running relations that holds listeners for different events (such as unification, disequality, and stream manipulations), allows to stop stream calculations, and is responsible for creating fresh variables.

0.1.5

02 Jun 10:49
Compare
Choose a tag to compare

Changed disjunction and conde behavior according to OCanren #14

0.1.4

13 Apr 14:39
73bd579
Compare
Choose a tag to compare

Made some performance and memory usage optimizations

0.1.3

21 Mar 12:50
1768656
Compare
Choose a tag to compare

Introduced template terms, refactored some signatures of public API #9

0.1.2

09 Mar 13:25
3a6732e
Compare
Choose a tag to compare
  • Introduced success and failure Goals
  • Introduced a logic type for parametrized Pair
  • Introduced run overloading that does not require to create of a fresh variable for the result
  • Introduced condo2 - it takes 2 Goals, invokes the first Goal, and returns a stream with its result if it was successful, and returns a stream with a result of the second Goal otherwise
  • Introduced debugVar - it reifies walked term using the passed reifier and returns a Goal from the passed callback

0.1.1

27 Feb 11:42
Compare
Choose a tag to compare
  • Significant (up to 10 times) performance optimizations
  • Added required third-party dependencies to released jars

0.1.0

21 Feb 15:17
Compare
Choose a tag to compare

Supported operations (part of klogic-core):

  • Unification
  • Disequality

Supported terms:

  • Var - a variable bound to the specified logic type (part of klogic-core)
  • Symbol - a simple logic wrapper for string constant (custom logic term, part of klogic-utils)
  • LogicList - a recursive list storing terms of the specified type or variables of the same type (terms and variables are allowed to be stored at the same time) - a custom logic term, part of klogic-utils
  • LogicBool - a logic term for bool type (custom logic term, part of klogic-utils)
  • PeanoLogicNumber - the logic implementation of Peano numbers (custom logic term, part of klogic-utils)
  • OlegLogicNumber - logic numbers represented by a list of binary digits, introduced by Oleg Kiselyov (custom logic term, part of klogic-utils)