# Transducers Changelog ## 0.5.4 - 2023-11-10 ### Fixed - Changed the prefixing used in the `(transducers mapping)` module to `srfi-146%` from `srfi-146#` because of a bug in how identifiers are resolved. This shouldn't change any downstream code or APIs, but should play nicer with e.g. salmonella and bugs.call-cc.org ## 0.5.3 - 2023-11-10 ### Removed - Dependency on SRFI-143, in favour of using `(chicken fixnum)`. SRFI-143 is fairly unoptimized to the point that I see it frequently as a hotspot when running chicken-profile on e.g. fixnum-range-fold. If you want to port transducers to another Scheme, I've kept the API consistent by renaming procedures from `(chicken fixnum)` for ease of porting. ## 0.5.2 - 2023-11-09 ### Changed - Default debug level is now -d2. This was done for the sake of instrumenting / tracing transducers better. If this causes a significant performance hit for you please file an issue! ### Fixed - A bug in `collect-reverse-list` where the sentinel value was ignored. ## 0.5.1 - 2023-08-22 ### Fixed - Exported transducible type-class procedures / types from (transducers) meta library. ## 0.5.0 - 2023-08-22 ### Added - Added `` type-classes to library. ## 0.4.2 - 2023-08-16 ### Fixed - Fixed a bug in the implementations of `zip-range` and `interleave-range` that would cause them to exit the transduction early. ## 0.4.1 - 2023-07-19 ### Fixed - Adds r7rs to dependencies, which should make the egg build by default. Previously this wasn't part of the dependencies so one had to install r7rs first, and then this egg. ## 0.4.0 - 2023-04-16 ### Added - Adds support for using SRFI 146 mappings / hashmaps with transducers. ## 0.3.1 - 2023-04-02 ### Changed - Replaced `#!optional` declarations in defines with use of case-lambda, since R7RS does not have an `#!optional` keyword / extension syntax. ## 0.3.0 - 2023-04-02 ### Changed - Egg is now provided as an R7RS module. ## 0.2.0 - 2023-01-13 ### Added - `collect-sum` and `collect-product` collectors ### Changed - `any` / `all` / `count` / `first` / `last` have been renamed to be `collect-{any,all,count,first,last}`. All collector procedures start with the word `collect-` now. - All collectors accept an optional sentinel argument now. - All collectors should now be wrapped in parenthesis. For example: ```scheme (import transducers) ;; Previously (transduce list-fold values collect-list (list 1 2 3)) ;; Now (transduce list-fold values (collect-list) (list 1 2 3)) ``` ## 0.1.0 - 2023-01-04 ### Added - First version of transducers! - Adds all base / lists / vectors / ports libraries - Documentation - Tests