haskell ghc overloaded-strings

haskell - ¿Cómo consigo que funcione la extensión de lenguaje OverloadedStrings?



ghc overloaded-strings (1)

He habilitado cadenas sobrecargadas, pero no puedo hacer que funcionen:

$ 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> :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.

¿ IsString dónde importo las instancias de ByteString para ByteString ? ¿No debería esto suceder automáticamente? ¿Qué estoy haciendo mal?


.Char8 importar los módulos .Char8 , como Data.ByteString.Char8 y Data.ByteString.Lazy.Char8