
12 Feb
2014
12 Feb
'14
4:11 a.m.
On Wed, Feb 12, 2014 at 11:23 AM, Bryan Brady
In the latter definition, Cons a (interleaveStreams bs as), (interleaveStreams bs as) is a thunk. The thunk should only be evaluated when it is needed. In my original definition, (interleaveStreams as bs) is a thunk. The difference is an extra Cons (e.g., Cons b). It seems like the additional Cons is causing problems, I just don't understand why. Can anyone point out what I'm missing?
As Isaac wrote, you want to look at the _left_ hand side, not the right. It's pattern matching that impacts operational semantics. -- Kim-Ee