Hello Café,<br><br>I was wondering if using infinite lists was a viable and efficient solution in haskell programs (I mean not simple prototypes) :<br>I was considering using them to model agents in a hierarchical multi-agent application for school.<br>
A list would representate the state of an agent at a step of the program.<br><br>Let&#39;s say we have two simple agents, one multiplying its input by 2 and the other dividing it by 4 :<br><br><br>agent1 = fmap (*2)<br>agent2 = fmap (/4)<br>
<br>allValues = xs where<br>  ys = agent1 xs<br>  xs = 100:agen2 ys<br><br>main = do<br>   mapM_ print $ take 100 allValues<br><br><br>Of course, in a real program, an agent would rather take a list of multiple agents (i.e. a list of lists) in input, so that its ouput could depend on what several agents feed him.<br>
<br>Some could state what I&#39;m trying to do is FRP, and I agree. But it remains a simple goal so I&#39;d like to keep the program simple, and not go into the whole complexity of a FRP framework (and I&#39;m working with a non-haskeller).<br>
For instance, with my solution, I cannot dynamically connect or disconnect agents during the runtime, but I&#39;ll will not need to do that in my program.<br>Besides, I&#39;d like to try to implement this myself, not use an already existing framework.<br>
<br>So is it viable or would the use of multiple infinite lists kill the performances?<br>