Fork me on GitHub
#announcements
<
2021-12-13
>
john04:12:42

I'm pleased to announce the first general release of a beta for injest - a library for combining transducers with the semantics of thread-last forms. injest lowers the bar to high performance in Clojure and ClojureScript. The initially available features are: • Path Threads: Navigate into data like you would with keywords, but with strings, numbers and functions • Auto Transducification: Automatically turn sequence functions in a thread-last into transducers, comping together contiguous ones • Auto Parallelization: (only in CLJ, not CLJS) In addition to the above, comp parallel transducers into their own function, run on r/fold's fork/join pool • Extension: Add non-core transducers to the injest with reg-xf! and reg-pxf!, for single threaded and parallel transducers, respectively • Profiling: Require in from injest.report.path and get a report showing you a performance comparison of all the macro variants at a given line and column for each call-site at runtime (only in CLJ, not CLJS yet) Thanks to everyone who gave feedback on the road to getting this to beta. https://github.com/johnmn3/injest A short video introduction is available as part of the re:Clojure Data Science Special: https://www.youtube.com/watch?v=GNncKCKHEI4 workshop.

👍 15
🎉 18
🚅 4
1
ericdallo12:12:41

Really interesting lib!

ericdallo12:12:17

BTW, Thanks for the clj-kondo/LSP section on readme :)

john16:12:34

Thanks! And thank you for your work on LSP. At some point I'll be hoping to polish that bit up some more and I'd love to rap with you about how LSP works.

🎉 1
ericdallo16:12:02

Thank you! Cool, the good news is that next release that whole clj-kondo section would't be necessary anymore :) As @U04V15CAJ implemented auto load configs 🚀

🚀 2
Kelvin15:12:16

Cool library John! The x>> and =>> macros in particular could be very useful for micro-optimizing codebases with lots of transducer pipelines.