Commit 3bfc2d88 authored by Vaibhav Sagar's avatar Vaibhav Sagar

ihaskell: update

parent 717d650a
......@@ -88,7 +88,7 @@ library
utf8-string -any,
vector -any,
ipython-kernel >=0.10,
ghc-boot >=8.0 && <8.9
ghc-boot >=8.0 && <8.11
exposed-modules: IHaskell.Display
IHaskell.Convert
......@@ -135,10 +135,10 @@ executable ihaskell
default-language: Haskell2010
build-depends:
ihaskell -any,
base >=4.9 && < 4.14,
base >=4.9 && < 4.15,
text >=0.11,
transformers -any,
ghc >=8.0 && < 8.9,
ghc >=8.0 && < 8.11,
process >=1.1,
aeson >=0.7,
bytestring >=0.10,
......
......@@ -1085,7 +1085,11 @@ doLoadModule name modName = do
return $ displayError $ "Failed to load module " ++ modName ++ ": " ++ show exception
objTarget :: DynFlags -> HscTarget
#if MIN_VERSION_ghc(8,10,0)
objTarget = defaultObjectTarget
#else
objTarget flags = defaultObjectTarget $ targetPlatform flags
#endif
data Captured a = CapturedStmt String
| CapturedIO (IO a)
......
......@@ -115,7 +115,9 @@ pprDynFlags show_all dflags =
is_on = test f dflags
quiet = not show_all && test f default_dflags == is_on
#if MIN_VERSION_ghc(8,6,0)
#if MIN_VERSION_ghc(8,10,0)
default_dflags = defaultDynFlags (settings dflags) (llvmConfig dflags)
#elif MIN_VERSION_ghc(8,6,0)
default_dflags = defaultDynFlags (settings dflags) (llvmTargets dflags, llvmPasses dflags)
#elif MIN_VERSION_ghc(8,4,0)
default_dflags = defaultDynFlags (settings dflags) (llvmTargets dflags)
......@@ -167,7 +169,9 @@ pprLanguages show_all dflags =
quiet = not show_all && test f default_dflags == is_on
default_dflags =
#if MIN_VERSION_ghc(8,6,0)
#if MIN_VERSION_ghc(8,10,0)
defaultDynFlags (settings dflags) (llvmConfig dflags) `lang_set`
#elif MIN_VERSION_ghc(8,6,0)
defaultDynFlags (settings dflags) (llvmTargets dflags, llvmPasses dflags) `lang_set`
#elif MIN_VERSION_ghc(8,4,0)
defaultDynFlags (settings dflags) (llvmTargets dflags) `lang_set`
......@@ -319,7 +323,11 @@ evalImport imports = do
#endif
importOf _ (IIModule _) = False
importOf imp (IIDecl decl) =
#if MIN_VERSION_ghc(8,10,0)
((==) `on` (unLoc . ideclName)) decl imp && not (isImportDeclQualified $ ideclQualified decl)
#else
((==) `on` (unLoc . ideclName)) decl imp && not (ideclQualified decl)
#endif
-- Check whether an import is an *implicit* import of something.
#if MIN_VERSION_ghc(8,4,0)
......
......@@ -168,7 +168,11 @@ testEval =
":typ 3" `becomes` ["3 :: forall t. Num t => t"]
#endif
":k Maybe" `becomes` ["Maybe :: * -> *"]
#if MIN_VERSION_ghc(8,10,0)
":in String" `pages` ["type String :: *\ntype String = [Char]\n \t-- Defined in \8216GHC.Base\8217"]
#else
":in String" `pages` ["type String = [Char] \t-- Defined in \8216GHC.Base\8217"]
#endif
it "captures stderr" $ do
[hereLit|
......
......@@ -227,7 +227,11 @@ testParseString = describe "Parser" $ do
second
|]) >>= (`shouldBe` [Located 2 (Expression "first"), Located 4 (Expression "second")])
where
#if MIN_VERSION_ghc(8,10,0)
dataKindsError = ParseError (Loc 1 11) msg
#else
dataKindsError = ParseError (Loc 1 10) msg
#endif
#if MIN_VERSION_ghc(8,8,0)
msg = "Cannot parse data constructor in a data/newtype declaration:\n 3"
#else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment