@@ -12,9 +12,6 @@ import Data.List ( intercalate, isPrefixOf, stripPrefix )
1212import Data.Text ( unpack )
1313import qualified Data.Map.Strict as Map
1414
15- import qualified Language.Haskell.Exts.Pretty as Hs
16- import qualified Language.Haskell.Exts.Syntax as Hs
17-
1815import Agda.Compiler.Backend hiding ( topLevelModuleName )
1916import Agda.Compiler.Common ( topLevelModuleName )
2017
@@ -37,12 +34,13 @@ import Agda.TypeChecking.Warnings ( warning )
3734import qualified Agda.Utils.List1 as List1
3835import Agda.Utils.Monad
3936import Agda.Utils.Maybe ( isJust , isNothing , whenJust , fromMaybe , caseMaybeM )
40- import Agda.Utils.Monad ( whenM )
37+ import Agda.Utils.Monad ( orM , whenM )
4138
4239import Agda2Hs.AgdaUtils
4340import Agda2Hs.Compile.Types
4441import Agda2Hs.Compile.Utils
45- import Agda2Hs.Language.Haskell.Utils
42+
43+ import qualified Agda2Hs.Language.Haskell as Hs
4644
4745
4846isSpecialCon :: QName -> Maybe (Hs. QName () )
@@ -57,10 +55,10 @@ isSpecialCon = prettyShow >>> \case
5755
5856-- | Convert identifier and import module strings into the Haskell equivalent syntax.
5957toNameImport :: String -> Maybe String -> (Hs. Name () , Maybe Import )
60- toNameImport x Nothing = (hsName x, Nothing )
58+ toNameImport x Nothing = (Hs. hsName x, Nothing )
6159toNameImport x (Just mod ) =
62- ( hsName x
63- , Just $ Import (hsModuleName mod ) Unqualified Nothing (hsName x) (Hs. NoNamespace () )
60+ ( Hs. hsName x
61+ , Just $ Import (Hs. hsModuleName mod ) Unqualified Nothing (Hs. hsName x) (Hs. NoNamespace () )
6462 )
6563
6664-- | Default rewrite rules.
@@ -89,7 +87,7 @@ isSpecialName :: QName -> C (Maybe (Hs.Name (), Maybe Import))
8987isSpecialName f = asks (Map. lookup (prettyShow f) . rewrites)
9088
9189compileName :: Applicative m => Name -> m (Hs. Name () )
92- compileName n = hsName . show <$> pretty (nameConcrete n)
90+ compileName n = Hs. hsName . show <$> pretty (nameConcrete n)
9391
9492compileQName :: QName -> C (Hs. QName () )
9593compileQName f
@@ -157,8 +155,8 @@ compileQName f
157155 ++ " \n mod0: " ++ prettyShow mod0
158156 ++ " \n module name: " ++ Hs. prettyPrint mod
159157 ++ " \n current module: " ++ Hs. prettyPrint currMod
160- ++ " \n qualifier: " ++ prettyShow (fmap (fmap pp) qual)
161- ++ " \n (qualified) haskell name: " ++ pp qf
158+ ++ " \n qualifier: " ++ prettyShow (fmap (fmap Hs. pp) qual)
159+ ++ " \n (qualified) haskell name: " ++ Hs. pp qf
162160 return qf
163161 where
164162 parentName :: QName -> C (Maybe QName )
@@ -174,7 +172,7 @@ compileQName f
174172 (inverseScopeLookupName f <$> getScope) >>= \ case
175173 (C. QName {} : _) -> return Unqualified
176174 (C. Qual as C. QName {} : _) -> liftTCM $ do
177- let qual = hsModuleName $ prettyShow as
175+ let qual = Hs. hsModuleName $ prettyShow as
178176 lookupModuleInCurrentModule as >>= \ case
179177 (x: _) | qual /= mod -> do
180178 isDataMod <- isJust <$> isDatatypeModule (amodName x)
@@ -213,7 +211,7 @@ isWhereFunction f = do
213211 return $ any (qnameModule f `isLeChildModuleOf` ) whereMods
214212
215213hsTopLevelModuleName :: TopLevelModuleName -> Hs. ModuleName ()
216- hsTopLevelModuleName = hsModuleName . intercalate " ." . map unpack
214+ hsTopLevelModuleName = Hs. hsModuleName . intercalate " ." . map unpack
217215 . List1. toList . moduleNameParts
218216
219217-- | Given a module name (assumed to be a toplevel module),
@@ -223,7 +221,7 @@ compileModuleName m = do
223221 tlm <- liftTCM $ hsTopLevelModuleName <$> getTopLevelModuleForModuleName m
224222 reportSDoc " agda2hs.name" 25 $
225223 text " Top-level module name for" <+> prettyTCM m <+>
226- text " is" <+> text (pp tlm)
224+ text " is" <+> text (Hs. pp tlm)
227225 case hsModuleKind tlm of
228226 PrimModule -> return (PrimModule , Hs. ModuleName () " Prelude" )
229227 HsModule -> return (HsModule , dropHaskellPrefix tlm)
@@ -233,5 +231,5 @@ importInstance :: QName -> C ()
233231importInstance f = do
234232 (kind, mod ) <- compileModuleName $ qnameModule f
235233 unless (kind == PrimModule ) $ do
236- reportSLn " agda2hs.import" 20 $ " Importing instances from " ++ pp mod
234+ reportSLn " agda2hs.import" 20 $ " Importing instances from " ++ Hs. pp mod
237235 tellImport $ ImportInstances mod
0 commit comments