From afec6ad5ade280a7cbc89a4087e46cc9c39fc4e4 Mon Sep 17 00:00:00 2001 From: 8c6794b6 <8c6794b6@gmail.com> Date: Wed, 10 Jul 2024 11:56:08 +0900 Subject: [PATCH] Enable fnkParsedResultAction for ghc >= 9.6 Remove CPP macros wrapping "fnkParsedResultAction" for ghc >= 9.6, export the actual implementation. --- .../src/Language/Finkel/ParsedResult.hs | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/finkel-kernel/src/Language/Finkel/ParsedResult.hs b/finkel-kernel/src/Language/Finkel/ParsedResult.hs index e026d79d..98422f15 100644 --- a/finkel-kernel/src/Language/Finkel/ParsedResult.hs +++ b/finkel-kernel/src/Language/Finkel/ParsedResult.hs @@ -4,27 +4,23 @@ module Language.Finkel.ParsedResult ( fnkParsedResultAction ) where -#if MIN_VERSION_ghc(9,6,0) --- Not supported in ghc >= 9.6. -fnkParsedResultAction :: a -fnkParsedResultAction = error "Use Language.Finkel.Hooks.finkelHooks instead" - --- Requires parsedResultaction field in the 'Plugin' data type, which is --- supported from ghc 8.6.0. -#elif MIN_VERSION_ghc(8,6,0) +#if MIN_VERSION_ghc(8,6,0) #include "ghc_modules.h" -- base import Control.Exception (displayException, throwIO) import Control.Monad.IO.Class (MonadIO (..)) -import Data.List (foldl') import Data.Maybe (fromMaybe) import System.Console.GetOpt (ArgOrder (..), getOpt) import System.Environment (getProgName) import System.Exit (exitFailure, exitSuccess) +#if !MIN_VERSION_base(4,20,0) +import Data.List (foldl') +#endif + -- ghc import GHC_Driver_Env (Hsc (..), HscEnv (..)) import GHC_Driver_Main (getHscEnv) @@ -52,7 +48,7 @@ import Language.Finkel.Exception (FinkelException (..), finkelExceptionLoc, handleFinkelException) import Language.Finkel.Fnk (FnkEnv (..), FnkInvokedMode (..), - runFnk', initFnkEnv) + initFnkEnv, runFnk') import Language.Finkel.Make (mkParsedResult) import Language.Finkel.Make.Summary (TargetSummary (..), compileFnkFile, dumpParsedAST)