On Mon, Sep 16, 2013 at 2:34 PM, Oscar Benjamin <oscar.j.benjamin@gmail.com> wrote:
I'm not sure how this gets optimised but your call-stack is

GHC's stack is a pattern match stack, *not* a call stack. While implementations are allowed to differ in how they produce non-strict evaluation, GHC uses graph reduction; "calls" are not necessarily done in the order you would expect in a procedural language.

--
brandon s allbery kf8nh                               sine nomine associates
allbery.b@gmail.com                                  ballbery@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net