This might be a really noobish question, but I can't get past this problem (as I just started learning Haskell).
I have a simple block of code:
module SomeTest where
import Data.Text
str = replace "ofo" "bar" "ofofo"
If I call this with str
, I get:
<interactive>:108:19: error: * Couldn't match expected type `Text' with actual type `[Char]' * In the first argument of `Data.Text.replace', namely `"ofo"' In the expression: Data.Text.replace "ofo" "bar" "ofofo" In an equation for `it': it = Data.Text.replace "ofo" "bar" "ofofo" <interactive>:108:25: error: * Couldn't match expected type `Text' with actual type `[Char]' * In the second argument of `Data.Text.replace', namely `"bar"' In the expression: Data.Text.replace "ofo" "bar" "ofofo" In an equation for `it': it = Data.Text.replace "ofo" "bar" "ofofo" <interactive>:108:31: error: * Couldn't match expected type `Text' with actual type `[Char]' * In the third argument of `Data.Text.replace', namely `"ofofo"' In the expression: Data.Text.replace "ofo" "bar" "ofofo" In an equation for `it': it = Data.Text.replace "ofo" "bar" "ofofo"
I don't know why I'm getting this error and how to get pass it. Isn't Text
just a synonym for [Char]
?
Text
is a completely different type.String
is a synonym for[Char]
, though. – melpomene{-# LANGUAGE OverloadedStrings #-}
as the first line of your program should make it compile. – stholzm