- hash-table (more or less translation of Clojure implementation of Bagwell tries)
- array (also a translation from Clojure + more functions on it)
- set
X.FDATATYPES also implements FMAP, FOLD, FILTER and FMAP-TO functions for easy working with these data structures.
X.FDATATYPES does not try to behave as common CL data structures, and therefore function names in the package are intentionally different than the ones found in CL.
Other functional data structures are easy to add - just write user-land wrappers over tab-ctx or vec-ctx defstructs. See ftab.lisp and fvec.lisp
You can checkout sources directly here: X.FDATATYPES
License: BSD 3-Clause
Quick assessment (2023-04-23)
- tab-ctx.lisp: Specializing on fixnum only works if fixnum is an actual class.
- vec-ctx.lisp: Won't compile in CCL without a make-load-form for vec-ctx.