का उपयोग कर रहा एक प्रोग्राम है जो मुझे GHC एपीआई का उपयोग कर के लिए Haskell फ़ाइलों typechecks बनाने के लिए कोशिश कर रहा हूँ कबाल संकुल ढूँढना। मुझे स्थानीय फाइलों के लिए काम करने के लिए प्रकार की जांच मिल गई है, लेकिन मेरे पास एक विशिष्ट कैबल पैकेज है जिसे मुझे भी उपलब्ध होना चाहिए (यह निष्पादन योग्य एक ही पैकेज का हिस्सा होगा)। इस आयात निर्भरता को कैसे जोड़ें?जब GHC एपीआई
मैंने ghc -package PKG-VER --make Test.hs -v
का उपयोग करके यह पता लगाने के लिए ghc कमांड लाइन के साथ संकलन करने का भी प्रयास किया, लेकिन यह केवल आयात के लिए स्थानीय निर्देशिका में दिखता है।
मेरे वर्तमान कोड इस तरह दिखता है:
import Control.Exception
import Control.Monad
import Control.Monad.State
import DynFlags
import Exception
import GHC
import GHC.Paths (libdir)
typecheck :: MonadIO m => [FilePath] -> FilePath -> m()
typecheck otherincludes fp =
liftIO . defaultErrorHandler defaultLogAction . runGhc (Just libdir) $ do
dynflags <- getSessionDynFlags
void $ setSessionDynFlags dynflags { includePaths = otherIncludes ++ includePaths dynflags }
target <- guessTarget fp Nothing
setTargets [target]
void $ load LoadAllTargets
deps <- depanal [] False
forM_ deps $ \ms -> parseModule ms >>= typecheckModule
http://hackage.haskell.org/package/buildwrapper पैकेज वास्तव में ऐसा करता है। आप इसे संदर्भ के रूप में उपयोग कर सकते हैं। – arrowd