At the risk of sounding like a fogey, what happened to just doing thunks and leaving streams in user land? It seems from this discussion that there are already multiple ways one might build them.

Sent from my iPhone

> On Dec 9, 2013, at 2:35 PM, "Max S. New" <notifications@github.com> wrote:
> 
> In libraries/Lazy/Stream.elm:
> 
> > +-}
> > +
> > +import Basics ((.), (<|), (-), id, fst, snd)
> > +import open Lazy
> > +import Signal ((<~), foldp, Signal)
> > +
> > +data Stream a = S (Lazy { hd : a, tl : Stream a })
> > +
> > +hd : Stream a -> a
> > +hd (S t) = (run t).hd
> > +
> > +tl : Stream a -> Stream a
> > +tl (S t) = (run t).tl
> > +
> > +mkStream : (() -> { hd : a, tl : Stream a }) -> Stream a
> > +mkStream = S . thunk
> Sure, I'm on the #elm irc right now.
> 
> —
> Reply to this email directly or view it on GitHub.