Juliacon 2024

What's next for Transducers.jl?
07-12, 16:30–17:00 (Europe/Amsterdam), 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.