Skip to content

Releases: UnitTestBot/klogic

0.2.1

Choose a tag to compare

@Damtev Damtev released this 04 Oct 10:05
6588257

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

Choose a tag to compare

@Damtev Damtev released this 20 Jun 12:56
9e234bb

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

Choose a tag to compare

@Damtev Damtev released this 02 Jun 10:49

Changed disjunction and conde behavior according to OCanren #14

0.1.4

Choose a tag to compare

@Damtev Damtev released this 13 Apr 14:39
73bd579

Made some performance and memory usage optimizations

0.1.3

Choose a tag to compare

@Damtev Damtev released this 21 Mar 12:50
1768656

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

0.1.2

Choose a tag to compare

@Damtev Damtev released this 09 Mar 13:25
3a6732e
  • 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

Choose a tag to compare

@Damtev Damtev released this 27 Feb 11:42
  • Significant (up to 10 times) performance optimizations
  • Added required third-party dependencies to released jars

0.1.0

Choose a tag to compare

@Damtev Damtev released this 21 Feb 15:17

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)