[Haskell-cafe] ~ operator ?

briand at aracnet.com briand at aracnet.com
Mon Feb 18 23:01:48 CET 2013


On Mon, 18 Feb 2013 19:13:13 +0000
Mateusz Kowalczyk <fuuzetsu at fuuzetsu.co.uk> wrote:

> On 18/02/13 19:02, briand at aracnet.com wrote:
> > Hi all,
> > 
> > I was creating "bigger" uncurries which I am simply extending from an existing uncurry I found some where, e.g.
> > 
> > uncurry4 :: (a -> b -> c -> d -> e) -> ((a, b, c, d) -> e)
> > uncurry4 f ~(a,b,c,d) = f a b c d
> > 
> > when I realized, what's the "~" for ?
> > 
> > I've only been able to find a partial explanation that it involves preserving laziness, or something, maybe ?
> > 
> > I was hoping someone could enlighten me.
> > 
> > Thanks
> > 
> > Brian
> > 
> > 
> > _______________________________________________
> > Haskell-Cafe mailing list
> > Haskell-Cafe at haskell.org
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> > 
> 
> [1] explains it in section 4.4 — ‘Lazy patterns’.
> 
> [1] - http://www.haskell.org/tutorial/patterns.html
> 

how strange - I was sure I looked through the tutorial...

Thanks Mateusz and Patrick.

Brian





More information about the Haskell-Cafe mailing list