[Haskell-cafe] Equality Contstraint?
Ben
hyarion at iinet.net.au
Fri May 15 01:44:42 UTC 2015
Just in case it helps anyone's confusion, your equality constraint
idea was on a reasonable track. When the ~ symbol appears *in a type
signature* it is indeed an equality constraint. But in a pattern
expression it's the marker for an irrefutable pattern.
Regads,Ben
----- Original Message -----
From: "Alexey Shmalko"
To:"Michael Jones" , ""
Cc:
Sent:Fri, 15 May 2015 01:26:23 +0000
Subject:Re: [Haskell-cafe] Equality Contstraint?
Hi, Michael,
It's irrefutable pattern - the pattern that matches lazily. You can
get more info here [1].
Hope this helps,Alexey Shmalko
[1]: http://en.wikibooks.org/wiki/Haskell/Laziness#Lazy_pattern_matching
[1]
On Fri, May 15, 2015 at 4:17 AM Michael Jones wrote:
I am poking around in Arrow to understand it better. There is the
following definition:
second :: a b c -> a (d,b) (d,c)
second f = arr swap >>> first f >>> arr swap
where
swap :: (x,y) -> (y,x)
swap ~(x,y) = (y,x)
Can someone explain what the ~ is? Searching the net resulted in
frustration.
I kind of think it is some kind of equality constraint but can’t
find documentation. Perhaps if I knew what it was called I might
succeed in finding something If it is an equality constraint, please
provide a reference if you have one. I did not find anything in a
search including GHC, etc.
Thanks
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe at haskell.org [3]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe [4]
Links:
------
[1]
http://en.wikibooks.org/wiki/Haskell/Laziness#Lazy_pattern_matching
[2] mailto:mike at proclivis.com
[3] mailto:Haskell-Cafe at haskell.org
[4] http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20150515/83ef5136/attachment.html>
More information about the Haskell-Cafe
mailing list