title: How do I get the OverloadedStrings language extension working?
body: <p>I've enabled overloaded strings, but I can't get them to work:</p>
  
  <pre><code>$ cat overloadedstrings.hs 
  {-# LANGUAGE OverloadedStrings #-}
  
  import qualified Data.ByteString as B
  import qualified Data.ByteString.Lazy as BL
  
  lazy :: BL.ByteString
  lazy = "I'm a lazy ByteString"
  
  strict :: B.ByteString
  strict = "I'm a strict ByteString"
  
  $ ghci
  GHCi, version 6.12.1: http://www.haskell.org/ghc/  :? for help
  Loading package ghc-prim ... linking ... done.
  Loading package integer-gmp ... linking ... done.
  Loading package base ... linking ... done.
  Prelude&gt; :l overloadedstrings.hs 
  [1 of 1] Compiling Main             ( overloadedstrings.hs, interpreted )
  
  overloadedstrings.hs:7:7:
      No instance for (Data.String.IsString BL.ByteString)
        arising from the literal `"I'm a lazy ByteString"'
                     at overloadedstrings.hs:7:7-29
      Possible fix:
        add an instance declaration for
        (Data.String.IsString BL.ByteString)
      In the expression: "I'm a lazy ByteString"
      In the definition of `lazy': lazy = "I'm a lazy ByteString"
  
  overloadedstrings.hs:10:9:
      No instance for (Data.String.IsString B.ByteString)
        arising from the literal `"I'm a strict ByteString"'
                     at overloadedstrings.hs:10:9-33
      Possible fix:
        add an instance declaration for (Data.String.IsString B.ByteString)
      In the expression: "I'm a strict ByteString"
      In the definition of `strict': strict = "I'm a strict ByteString"
  Failed, modules loaded: none.
  </code></pre>
  
  <p>Where do I import the <code>IsString</code> instances for <code>ByteString</code> from? Shouldn't this happen automatically? What am I doing wrong?</p>