> Also, for some history, this was discussed a while back:
> http://www.mail-archive.com/haskell@haskell.org/msg03721.html
Thanks for pointing me to earlier discussions on this subject - they are 
enlightening :) One 
particular argument "against" seems to be very convincing to me:

"From a language design point of view, it should be noted that turning
non-left linear patterns into ones with == guards elevates the class Eq
to built-in status - but the compiler has no semantic control over it."

I see there are many things I didn't consider (and many more that I don't even 
understand). So is 
there some recommended reading on the subject of linear patterns? Most of all 
I'm wondering why 
they are called "linear"?

Regarding the possibility of making accidental mistakes during refactoring etc. 
This could be 
implemented as a language extension, requiring explicit LANGUAGE pragma. So 
people using it would 
know they have semantics slightly changed and need to be aware that there is a 
possibility of 
making these kind of mistakes.

Janek

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to