Re: Fwd: SRFI 171: Transducers
Linus Björnstam 25 Jun 2019 11:41 UTC
(Sorry about the brevity. Typing this on my phone)
I have very little experience with Haskell, but from my understanding foldable just a generic way of expressing fold over a collection. It deals with collections in a general way, not streaming data as such. I think a better comparison would be to conduits (I have spent a little time googling this now).
The lazy part of Haskell inherently has some of the benefits of transducers: no intermediate collections when composing. Generalised interfaces for different collections therefore automatically get one of the prime benefits of transducers.
Since Haskell already has conduits, transducers seem more like an intellectual curiosity (in both type and ergonomics).
I could very well mention conduits in the srfi. They are very cool, but I have a hard time imagining how to implement them efficiently in scheme, even less so in portable scheme.
Best regards
Linus Björnstam
On Tue, 25 Jun 2019, at 08:46, Arthur A. Gleckler wrote:
>
>
> ---------- Forwarded message ---------
> From: *Paul Rubin* <xxxxxx@nospam.invalid>
> Date: Mon, Jun 24, 2019, 11:37 PM
> Subject: Re: SRFI 171: Transducers
> To:
>
>
> "Arthur A. Gleckler" <*@speechcode.com> writes:
> > Scheme Request for Implementation 171, "Transducers,"
>
> This looks like the Foldable typeclass in recent versions of GHC
> Haskell, but the SRFI doesn't note the similarity. I've heard of
> Clojure transducers but have never examined them, so I don't know how
> much they resemble Foldable.
>
> I wonder if taking a look at Foldable could be helpful for working out
> details of the Transducers SRFI.