> Maybe this belongs a bit more to your previous thread, but it can also relate > here: > I see you are making generic sequence interface to collections. Clojure from > 1.7 seems to move more towards "reducebles" rather than "sequable". I have > played with this idea for Racket a bit and it seems to work quite well (I > called them "streams" but in effect they are "reducebles"): > > https://mobiusengineering.wordpress.com/2015/01/11/stateful-streams-in-scheme/
It is my understanding that Clojure's new "reducebles" interface is not intended to replace the existing sequences interface but rather provides an alternative, specifically intended to enable parallel folds, trading laziness for parallelization. Arbitrary parallel computation is a bit more difficult on the Racket VM than on the JVM currently, so I'm not sure if that sort of thing would be practical in Racket, but either way, I don't believe this is intended to be a general-purpose solution at all. Anyway, I'll take a look at them in more detail to see precisely what their purpose is. I took a look at the blog post you linked, and I admit I'm skeptical that such a model is actually any improvement. Composable operations can be a derived concept even with the lazy sequence model, akin to Clojure's transducers. I'd also posit that having a simple base model for sequences is reasonable rather than imposing a much more complex model with possible performance benefits. On the other hand, I'd be quite interested in trying your implementation to test the performance differences for myself. Do you have that code in a single, self-contained snippet I could take a look at? The blog post itself seems to be missing a few bits and pieces, notably iterate-list and stream-of-integers. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.