2016-12-06 11 views
2

この単一の特定のインポートステートメントが問題を引き起こす理由を知っていますか?私はサンドボックスとキャバルを使用しています。私の他のインポートは正常に動作します(Web.Scotty、Data.Text.Lazyなど)。私は "cabal exec runghc filename.hs"で走っています。私はcabal.configファイルを持っていませんが、cabal.sandbox.configファイルがあります。エラー:「 'Data.Either.Utils'のインターフェイスを読み込めませんでした」

私はforceEither関数を使用しようとしています。これはData.Either.Utilsです。

{-# LANGUAGE OverloadedStrings #-} 
import Web.Scotty 
import Control.Monad.Trans (liftIO) 
import Data.Aeson (object, (.=)) 
import Network.HTTP.Types.Status 
import Data.Text.Lazy 
import Data.Text.Lazy.IO 
import Data.Either.Utils 

import Data.Monoid (mconcat) 

メッセージ:-vショーで実行

filename.hs:8:1: error: 
    Failed to load interface for ‘Data.Either.Utils’ 
    Use -v to see a list of the files searched for. 

Using a sandbox located at 
/Users/myuser/Desktop/mydirectory/myotherdirectory/.cabal-sandbox 
/usr/local/bin/ghc --print-global-package-db 
/usr/local/bin/runghc filename.hs 
+0

私はポストを編集しました。もっと改善できると思ったら教えてください。 – slothish1

+0

編集をいただきありがとうございます。コーディングを楽しんでいただければと思います。 –

答えて

2

Data.Either.Utilsモジュールがベース」の一部ではない私のimport文は、私の知る限り正常です"ハスケル。それはMissingHパッケージの一部です、そして、そのパッケージは..であるようです。

私は陰謀団のサンドボックス(私はスタックを使用)とあまり慣れていないんだけど、おそらくあなたは実行することができます:あなたのサンドボックス内の

cabal install MissingH 

を、そしてあなたが行くために良いことがあります。

問題が解決しない場合は、単にMissingHからforceEitherためのコードをコピー:

forceEither :: Show e => Either e a -> a 
forceEither (Left x) = error (show x) 
forceEither (Right x) = x 
関連する問題