Sven
From the thread discussion here my take.
- I do not think that we want to reuse any of the old streams. - So first Zn to replace the binary and MultiUglyStream and after we will have to check if we should port the design of Xtream (but not the API) to Pharo. Stef On Tue, Nov 14, 2017 at 5:59 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Denis I agree. I do not like to code in reverse order.
On Tue, Nov 14, 2017 at 4:49 PM, Denis Kudriashov <dionisiydk@gmail.com> wrote:
2017-11-14 16:30 GMT+01:00 Steffen Märcker <merkste@web.de>:
I forgot to mention, that the most recent code for Pharo is already on Github: https://github.com/Pharophile/Transducers
Reducers was the name of the first very first implementation.
(In fact, I was originally inspired by clojures Reducers lib. After implementing it in Smalltalk, I developed the concept further. Later I found out, that the clojure guys did the same in parallel and ended up with the same abstraction but a differnt name. Hence I decided change the name in order to make the relation clear.)
I like abstraction. But I think names and order of computation should be changed to be more Smalltalk friendly. Because now it looks like Haskell with right to left order:
squares := Set <~ 1000 take <~ #squared map <~ (1 to: 1000). fileOut writeStream <~ #isSeparator filter <~ fileIn readStream.
Is there any reason to not change it? I would like to start expressions with source of data:
squares := (1 to: 1000) ~> #squared map ~> 1000 take ~> Set. fileIn readStream ~> #isSeparator filter ~> fileOut writeStream.
Am .11.2017, 16:18 Uhr, schrieb Sven Van Caekenberghe <sven@stfx.eu>:
On 14 Nov 2017, at 16:00, Steffen Märcker <merkste@web.de> wrote:
Hi,
<---Schnitt--->
No. Transducers is my side project. I've implemented a package for VisualWorks. Unfortunately, I did not finish the port to Pharo yet, simply due to a lack of time. Originally, transducers evolved in the clojure community. I figured, the concept a good fit for Smalltalk and adapted it accordingly. (My thesis is on conditional probabilities in model-checking of probabilistic systems.)
<---Schnitt--->
http://www.cincomsmalltalk.com/publicRepository/Transducers.html https://clojure.org/reference/transducers Plus some mails on this list and more on the vwnc list. Feel free to ask; I understand, that the package comment has lots of potential for improvement to help understanding.
Best, Steffen
Some code seems to be here: http://smalltalkhub.com/#!/~cdlm/Experiments
Not sure if it is complete or what the relation is, or the difference between transducers and reducers ...