Skip to content

v1.4.0

Compare
Choose a tag to compare
@slburson slburson released this 08 Jun 20:54
· 68 commits to master since this release

Bug fixes and minor improvements. Highlights:

  • I have moved all the docs to the FSet wiki on gitlab.common-lisp.net 🎉 and updated the link in the README.
  • Issues fixed: #26, #28, #35, #40, #42, #44, #46. Although #44 was clearly a bug, I suppose there is a remote chance that some client out there is depending on the current behavior. Seems unlikely, though.
  • More FSet operations also work on lists: with-first, with-last, contains?, filter.
  • map-union and map-intersection now handle a val-fn result of :no-value, indicating that the result map should have no entry for the corresponding key.
  • New modify macros set-differencef, map-unionf, map-intersectf.
  • The query and query-multi operations on list-relation have a simplified API; the old API is still supported, but deprecated. (Is anyone using list-relation?) Instead of supplying a separate metapattern to indicate which pattern elements to search on, you just put fset::? in the pattern in uninstantiated locations.
  • The API and internals of query-registry have been significantly revamped. Operations with-query and less-query are now with and less, and no longer take a metapattern; forward-key, lookup-restricted, and lookup-multi-restricted are all removed; and lookup-multi no longer has exponential time complexity (!). I'll be very surprised if anyone besides me is using this class, so I haven't bothered with backward compatibility here.