[Haskell-cafe] Haskell, arrows and signal processing

Rafael Gustavo da Cunha Pereira Pinto RafaelGCPP.Linux at gmail.com
Wed Sep 8 10:47:25 EDT 2010

Hi folks from the cafe!!

Last weekend, I was wondering on how hard it would be to use Haskell for
mixed-signal processing.

Here is an example of an digital integrator:

summation=zipWith (+)

delay xs=(fromIntegral 0):xs

integrator xs=let ws=summation (integrator xs) xs in delay ws

The input and output are  infinite streams. I have a few questions:

1) Is it possible to change it to use arrows? How would it look like?
2) How would one implement an continuous time version?

For 2) I would like to implement something like that digital integrator, so
I could create filters based on integrator loops like this one:

x(t) ----(+)----> Integrator --|---> y(t)
          ^                    |

Note that x(t) would be a function, and I would expect to create a function
y, based on this flow!

Rafael Gustavo da Cunha Pereira Pinto

Rafael Gustavo da Cunha Pereira Pinto
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100908/7fe915c1/attachment-0001.html

More information about the Haskell-Cafe mailing list