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 ...