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.

Michael