1) What's the difference between your:
"tail ~(Cons _ xs) = xs"
and the more simple:
"tailStrict (Cons _ xs) = xs" ?
I'm no expert - but I can't think of any difference at all.
2) Why don't you also use an irrefutable pattern in "take"? "take" is
now defined as:
This is a trickier question:
On Wed, Oct 21, 2009 at 9:44 PM, Wouter Swierstra wrote:
> The only change with the previous version has been to add irrefutable
> patterns to several function definitions. This is rather delicate design
> decision: too many irrefutable patterns could result in thunks not being
> evaluated; too fe
I'm happy to announce a new release of the Data.Stream library.
http://hackage.haskell.org/package/Stream
The only change with the previous version has been to add irrefutable
patterns to several function definitions. This is rather delicate
design decision: too many irrefutable patterns c