Releases: brandonwillard/loghyc
adderall 2.0.0
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
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
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.