<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<font size="+1"><font face="Helvetica, Arial, sans-serif">I'm
experimenting with functional reactive programming for creating simple
2D/3D video games and interactive apps, trying to develop my own
version of it from scratch, for learning Haskell. <br>
<br>
I got stuck with an endless loop when trying to split a stream into a
pair of two streams (a kind of reactive if/then/else). Luckily I first
read the Haskell School of Expression so I remembered that pattern
matching is not lazy and this could be the cause, which it was (I had
to replace (x:xs) by ~(x:xs))<br>
<br>
I could also fix the problem by not using pattern matching at all,
using head/tail calls instead.<br>
<br>
Now why isn't pattern matching lazy by default?&nbsp; This seems odd for a
newbie since everything else is lazy by default.<br>
<br>
Thanks,<br>
Peter<br>
<br>
</font></font>
</body>
</html>