On Fri, Apr 22, 2011 at 11:52:32PM -0700, Tom Brow wrote:
> I noticed today that I can pattern match against lazy bytestrings when using
> the OverloadedStrings extension:
[..]
> Given that pattern matching is based on data constructors, how is it possible
> that (Chunk "abc Empty) and (Chunk "a" (Chunk "bc" Empty)) match the same
> pattern?
> 
> Tom
> 

According to the haskell report[1] string literals use the overloaded (==)
for pattern matching.

    Matching a numeric, character, or string literal pattern k against a
    value v succeeds if v == k, where == is overloaded based on the type of
    the pattern. The match diverges if this test diverges.

    [1]: http://www.haskell.org/onlinereport/exps.html#sect3.17.2

-- 
Helgi Kristvin Sigurbjarnarson <helgikrs (at) gmail (dot) com>

Attachment: pgpu1kqNpXfhn.pgp
Description: PGP signature

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to