
On Nov 30, 2009, at 12:47 , michael rice wrote:
From: http://www.haskell.org/haskellwiki/Blow_your_mind#Polynomials
-- splitting in two (alternating) -- "1234567" -> ("1357", "246") -- the lazy match with ~ is necessary for efficiency, especially enabling processing of infinite lists foldr (\a ~(x,y) -> (a:y,x)) ([],[])
This works but can't find (~) operator anywhere. Please explain or site a reference.
http://haskell.org/onlinereport/exps.html#pattern-matching --- see the last alternative for "apat", and rule #2 of section 3.17.2. Basically it changes a (normally strict) pattern into a lazy pattern. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH