Transducers are transformations of "sequence" of input that can be composed very efficiently. The interface used by transducers naturally describes a wide range of processes that is expressible as a succession of steps. Furthermore, transducers can be defined without specifying the details of the input and output (collections, streams, channels, etc.) and therefore achieves a full reusability. Transducers are introduced by Rich Hickey, the creator of the Clojure language. His Strange Loop talk is a great introduction to the idea of transducers. Transducers.jl is an implementation of the transducers in Julia. Aiming to satisfy the high-performance needs of Julia users, Transducers.jl uses a formulation that is pure and aiding type-stability.

Features

  • Sequential, multi-threaded, and distributed computation with a single API –- transducers (see overview of parallel processing)
  • Support various table types including DataFrames.jl, StructArrays.jl, TypedTables.jl, etc. using Tables.jl and BangBang.jl API (see copy, etc.)
  • OnlineStats.jl integration
  • Robust typocalypse-free implementation of map, collect, and alike based on mutate-or-widen strategy implemented in BangBang.jl
  • User interface-agnostic progress bar support based on ProgressLogging.jl that works with threaded and distributed processing
  • Examples available

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow Transducers.jl

Transducers.jl Web Site

Other Useful Business Software
Full-stack observability with actually useful AI | Grafana Cloud Icon
Full-stack observability with actually useful AI | Grafana Cloud

Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
Create free account
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Transducers.jl!

Additional Project Details

Programming Language

Julia

Related Categories

Julia Data Visualization Software

Registered

2023-11-08