In the past month I updated many of my Common Lisp libraries. Here is a brief summary of the changes:
- cl-num-utils has been growing by accretion for a long time, which did not lead to the cleanest code. I decided to reorganize the library and split off functionally independent parts which may be useful on their own:
- functions that operate on Common Lisp arrays have been moved to array-operations,
- functions that handle array slices are now in cl-slice,
- data frames are in cl-data-frame (which is still experimental, but works fine).
The first two are meant to have very few dependencies, and in particular do not depend on
cl-num-utils
. I hope thatcl-slice
will serve as a basis for a Common Lisp API for slicing arrays and array-like objects.Parts of
cl-num-utils
have been disabled for now because I didn't have time to update their unit tests and I don't like to release untested code. If you need any of those, please open an issue on Github. - lla had to be rewritten a bit since it depends on
cl-num-utils
. I moved special matrices from the former to the latter since they do not require foreign functions per se, and moved array stacking code toarray-operations
. - cl-random also depends on
cl-num-utils
and had to be rewritten a bit. Again, not all functionality is enabled yet, feel free to open an issue if you need something urgently. I will re-enable everything in due time, but I would like to think more about testing multivariate distributions. - Minor changes were made to cl-rmath and let-plus.