2024-07-12 –, For Loop (3.2)
Transducers.jl was a brilliant and ambitious julia project that is in danger of stalling out. In this talk, I want to discuss what made it so special, the challenges involved in maintaining it today, and our plans for how to breathe new life into the package.
Transducers.jl is a package concerned with decoupling the traversal of a piece of data from various transformations one might apply to that data, and provides a more efficient, composable, and reusable alternative to things like Iterators
or simple for
loops.
While Transducers.jl is based heavily off of the concepts pioneered and implemented in Clojure, Transducers.jl has a lot of ideas of it's own, including a very powerful and general approach to parallelism, and inventing a lot of useful techniques in preserving type stability in very difficult circumstances.
Today, maintaining Transducers.jl is a very difficult task, namely because the current maintainers are not the original authors of the majority of the code, and the project is not only quite large, but it contains a lot of highly non-obvious techniques.
In this talk, I want to give users an introduction to using Transducers.jl, as well as show a bit about our plans for the next generation of transducers in Julia.
I'm a condensed matter physicist turned julia enthusiast who is interested in the intersection of performance and design.