ref: 12bac3e8b05c9fe9baa14e4d19bb5711ba9b2dc6
parent: 231d9ec8e59777f366a0f95ed8d7e5bf46742e4e
author: Lennart Augustsson <lennart.augustsson@epicgames.com>
date: Fri Sep 22 09:39:05 EDT 2023
Hack to force error messages.
--- a/src/MicroHs/TypeCheck.hs
+++ b/src/MicroHs/TypeCheck.hs
@@ -60,7 +60,17 @@
(fexps, sexps) = unzip $ getFSExps impMap
-}
fexps = [ fe | TModule _ fe _ _ _ _ <- M.elems impMap ]
- in TModule mn (nubBy (eqIdent `on` fst) (concat fexps)) (concat texps) (concat sexps) (concat vexps) tds
+ in tModule mn (nubBy (eqIdent `on` fst) (concat fexps)) (concat texps) (concat sexps) (concat vexps) tds
+
+-- A hack to force evaluation of errors.
+-- This should be redone to all happen in the T monad.
+tModule :: IdentModule -> [FixDef] -> [TypeExport] -> [SynDef] -> [ValueExport] -> [EDef] ->
+ TModule [EDef]
+tModule mn fs ts ss vs ds = seqL ts `seq` seqL vs `seq` TModule mn fs ts ss vs ds
+ where
+ seqL :: forall a . [a] -> ()
+ seqL [] = ()
+ seqL (x:xs) = x `seq` seqL xs
filterImports :: forall a . (ImportSpec, TModule a) -> (ImportSpec, TModule a)
filterImports it@(ImportSpec _ _ _ Nothing, _) = it
--
⑨