Skip to content

Releases: brandonwillard/loghyc

adderall 2.0.0

03 Sep 17:41
cfa2bdc
Compare
Choose a tag to compare

New Features

  • Now supports Hy >= 0.15

Breaking Changes

cons

Recent updates of Hy have removed the builtin cons object, so a custom implementation is provided for semantic compatibility with other implementations of miniKanren in Lisp. Along with this change, the mapping from cons pairs to Python collections is made strictly through Python list types. In other words, Python lists are equivalent to cons lists (i.e. cons pairs with cdr set to an empty list or None) and cons pairs — that are not also lists — have no Hy or Python builtin equivalent.

To facilitate the construction of longer cons pairs, the cons factory function take a variable number of arguments so that

(cons car-1 car-2 ... car-N cdr) == (cons car-1 (cons car-2 (cons ... (cons car-N cdr))))

adderall 0.1.3

05 Dec 13:20
adderall-0.1.3
3171509
Compare
Choose a tag to compare

Bugfixes

Support hy >= 0.10.1

The library was updated to work with hy >= 0.10.1, which changed a few details of the language it was relying on. With the change, the library should work with all versions of hy past 0.10.

adderall 0.1.2

25 Jul 11:37
adderall-0.1.2
0444ff3
Compare
Choose a tag to compare

Features

Set unification support

It is now possible to place logic variables within sets, adderall learned how to traverse them. This means one can now do:

(run* [q]
  (memberᵒ 3 (set [1 2 q q])))
;=> [3]

Support lazy results

One can now pass :lazy as the first argument to the run and run* macros, and they will return a generator, and not force them into a list.

Miscellaneous: Drop the toolz dependency

The library only used the interleave function from toolz, which was an overkill. It now ships with an internal implementation of the function, and drops the toolz dependency.