* Yves Parès <yves.pa...@gmail.com> [2012-01-22 11:32:30+0100] > These make me think that pattern matching against a newtype is always lazy > (irrefutable). Am I right?
Yes. > Is there some litterature expliciting in a less empiric way than I did the > differences like this between data and newtype? I've never come against > such documentation through all my learning of Haskell, yet I think it's an > important point. See the Haskell report, section 3.17.2 "Informal Semantics of Pattern Matching" [1]. In particular, this paragraph: The irrefutable patterns are as follows: a variable, a wildcard, N apat where N is a constructor defined by newtype and apat is irrefutable (see Section 4.2.3), var@apat where apat is irrefutable, or of the form ~apat (whether or not apat is irrefutable). All other patterns are refutable. [1]: http://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-600003.17.2 -- Roman I. Cheplyaka :: http://ro-che.info/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe