0

私は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 のインポートがあったことが原因でした。それを含めると、うまくいきました。packpackData.ByteString.Char8

4

1 に答える 1