<br><div class="gmail_quote">Hi folks from the cafe!!<br><br>Last weekend, I was wondering on how hard it would be to use Haskell for mixed-signal processing.<br><br>Here is an example of an digital integrator:<br> <br><br>
<div style="margin-left: 40px;">
summation=zipWith (+)<br><br>delay xs=(fromIntegral 0):xs<br><br>integrator xs=let ws=summation (integrator xs) xs in delay ws<br></div><br><br><br>The input and output are  infinite streams. I have a few questions:<br><br>

1) Is it possible to change it to use arrows? How would it look like?<br>2) How would one implement an continuous time version?<br><br>For 2) I would like to implement something like that digital integrator, so I could create filters based on integrator loops like this one:<br>

<br><span style="font-family: courier new,monospace;">x(t) ----(+)----&gt; Integrator --|---&gt;</span> y(t)<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">          ^                    |</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">          |--------------------|</span> <br style="font-family: courier new,monospace;"><br><br>Note that x(t) would be a function, and I would expect to create a function y, based on this flow!<br>
<font color="#888888">
<br>Rafael Gustavo da Cunha Pereira Pinto<br><br>
</font></div><br><br clear="all"><br>-- <br>Rafael Gustavo da Cunha Pereira Pinto<br><br>