All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
calc/vmap-dimension
to calculate the dimension of vmaps (likedna-dimension
) or get it from meta:dim
cached by a vmap constructor (not for zero-dimension vmaps)expr/permute-vars
to generate all permutations of a variable orderingexpr/formDNA-perspectives
as a complement tocalc/dna-perspectives
which does the same thing but while transforming a formDNA expressions into an arrangement of formDNA expressions as its perspectives (keeping variable names)io/print-dna
andio/print-const
functions such that formDNA and constants not wrapped in expressions can be printed properly in formula notationcalc/dna-get
as a convenience function to quickly get a specific value from a dna (also because it isn’t straightforward thatfilter-dna
can do the same thing with a little more effort)
=>*
akaeval->expr-all
does now return formDNA as a proper vector that is already reversed at creation-time instead of adding performance cost with anrseq
- Macros not recognized in ClojureScript
calc/permute-dna-seq
, which had an incorrect implementation and lack of testingcalc/filter-dna
to handle the edge-case where formDNA dimension is 0, i.e. the dna is equivalent to a constant
First alpha release of the rewrite on Clojars. I advice against using it in any serious manner just yet, as there are still some rough edges, missing tests, unresolved issues, undecided questions and maybe also some outdated documentation.
However, you are welcome to experiment with the library (take a look at the introduction first) and I am thankful for feedback of any kind, as this is my first real Clojure project.