私はghc 7.10.3を使用してサンドボックス内で作業しており、次の簡単なコードがあります:
main :: IO ()
main = do
args <- getArgs
case args of
[ newOauthConsumerKey, newOauthConsumerSecret ] -> do
let appOauth = newOAuth { oauthServerName = "api.twitter.com"
, oauthConsumerKey = newOauthConsumerKey
, oauthConsumerSecret = newOauthConsumerSecret
}
...
cabal ファイルでこれらの依存関係を使用してコンパイルすると、次のようになります。
base
, authenticate-oauth
, http-conduit
, aeson
, text
(サンドボックスをクリーニングして再構築した後)次のエラーが発生し続けます。
src/Test/Main.hs:60:55:
Couldn't match type ‘[Char]’
with ‘bytestring-0.10.6.0:Data.ByteString.Internal.ByteString’
Expected type: bytestring-0.10.6.0:Data.ByteString.Internal.ByteString
Actual type: String
In the ‘oauthConsumerKey’ field of a record
In the expression:
newOAuth
{oauthServerName = "api.twitter.com",
oauthConsumerKey = newOauthConsumerKey,
oauthConsumerSecret = newOauthConsumerSecret}
src/Test/Main.hs:61:55:
Couldn't match type ‘[Char]’
with ‘bytestring-0.10.6.0:Data.ByteString.Internal.ByteString’
Expected type: bytestring-0.10.6.0:Data.ByteString.Internal.ByteString
Actual type: String
In the ‘oauthConsumerSecret’ field of a record
In the expression:
newOAuth
{oauthServerName = "api.twitter.com",
oauthConsumerKey = newOauthConsumerKey,
oauthConsumerSecret = newOauthConsumerSecret}
私はすでにグーグルでさまざまな同様の回答をチェックしましたが、それを機能させることはできません。何か案が?
解決
この問題は、コードに、必要な forとは異なるimport Data.Text
を含むfor のインポートがあったことが原因でした。それを含めると、うまくいきました。pack
pack
Data.ByteString.Char8