[Haskell-cafe] Desugaring ArrowLoop notation
Francesco Ariis
fa-ml at ariis.it
Fri Jan 27 01:32:36 UTC 2017
Hello cafe,
I was reading Stephen's Arrow Tutorial [1], where (among other
things), a way to compute the running mean of a stream of integers
using circular programming (ArrowLoop) is shown:
mean5 :: Fractional a => Circuit a a
mean5 = proc value -> do
rec
(lastTot, lastN) <- delay (0,0) -< (tot, n)
let (tot, n) = (lastTot + value, lastN + 1)
let mean = tot / n
returnA -< mean
To understand the example better I tried to convert the `rec do` notation
to plain loop/(>>>) one (i.e. without syntactic sugar), but failed.
So I ask: what's the sour version of `mean5`?
-F
[1] https://en.wikibooks.org/wiki/Haskell/Arrow_tutorial
More information about the Haskell-Cafe
mailing list