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