[Haskell-cafe] 1 = 0?
alexey.muranov at gmail.com
Tue Jun 17 11:14:53 UTC 2014
On Tuesday, June 17, 2014 1:08:45 PM UTC+2, Brent Yorgey wrote:
The general syntax of assignments is
> pattern = expression
> One most often uses a pattern consisting of a single variable, but any
> pattern will do. (For example, try writing [x,y,z] = [1,2,3] as a
> top-level declaration and see what happens!) 1 is a pattern which
> matches the number 1. 0 is obviously an expression. Of course, the
> pattern 1 does not match the expression 0. However, binding is lazy:
> for example, writing [x,y] = [1,2,3] does not in and of itself cause
> an error; it will only cause an error if you try to use x or y.
> However, since the pattern 1 contains no variables, there is no way to
> ever force the pattern-matching to actually take place.
> So 1 = 0 just sits there, sort of like an ugly, angry dog who wants to
> bite people except that it is locked in a cage with no door.
> Occasionally people walking by look at it pityingly, but mostly no one
> pays it any attention.
Thanks for the detailed explanation, i think i've understood.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe