Fusion of recursive functions
This came up while playing with the ICFP2007 task.
I have a function
dnaView :: DNA -> [D]; DNA is a
[ByteString] and D is just the enum
I|C|F|P. When I call a function that just pattern matches on the result, I think the pattern matching function should be fused with the view -- the view should run as a coroutine.
I've attached an example.