Clojure: Transducers(トランスデューサー)
https://clojure.org/reference/transducers記事
- Transducerはデータのソースやシンクから切り離された、合成・再利用可能な変換関数です
- 中間コレクションを排除し、データパイプラインのメモリ使用量を削減します
- lazy seq(遅延シーケンス)、channel(非同期チャネル)、あらゆる reducible なコンテキストで動作します
ディスカッション
- Injest ライブラリが、transducerの合成を通常のスレッディングマクロのように書けると好評を得ています
- パフォーマンス向上は中間コレクションのアロケーションを排除することによって得られます
- 代替手段として Haskell、Java の Gatherers API、Scheme の SRFI-171 も挙げられています
原文(英語): Clojure: Transducers
| Type | Link |
| Added | Apr 21, 2026 |
| Modified | Apr 21, 2026 |