shithub: MicroHs

Download patch

ref: 613c8356864d6f7845b75af9832f6d368dcc65ea
parent: 1504dcde34c5573218f3cf4633bcfcbe53222e76
author: Lennart Augustsson <lennart.augustsson@epicgames.com>
date: Tue Mar 5 14:17:45 EST 2024

Get rid of some extensions we don't really need.

--- a/MicroHs.cabal
+++ b/MicroHs.cabal
@@ -44,8 +44,8 @@
                        -fwrite-ide-info
   main-is:             MicroHs/Main.hs
   default-extensions:  ScopedTypeVariables PatternGuards TupleSections TypeSynonymInstances MultiParamTypeClasses
-                       FlexibleInstances OverloadedRecordDot DisambiguateRecordFields StandaloneKindSignatures
-                       OverloadedStrings BangPatterns
+                       FlexibleInstances
+                       BangPatterns
   other-modules:       MicroHs.Abstract
                        MicroHs.Compile
                        MicroHs.CompileCache
--- a/src/MicroHs/Main.hs
+++ b/src/MicroHs/Main.hs
@@ -48,7 +48,7 @@
 decodeArgs f mdls (arg:args) =
   case arg of
     "--"        -> (f, mdls, args)
-    "-v"        -> decodeArgs f{verbose = f.verbose + 1} mdls args
+    "-v"        -> decodeArgs f{verbose = verbose f + 1} mdls args
     "-r"        -> decodeArgs f{runIt = True} mdls args
     "-l"        -> decodeArgs f{loading = True} mdls args
     "-CR"       -> decodeArgs f{readCache = True} mdls args
@@ -66,7 +66,7 @@
 mainCompile :: Flags -> Ident -> IO ()
 mainCompile flags mn = do
   (rmn, allDefs) <-
-    if flags.writeCache then do
+    if writeCache flags then do
       cash <- getCached flags
       (rds, cash') <- compileCacheTop flags mn cash
       when (verbosityGT flags 0) $
@@ -119,8 +119,9 @@
        ct1 <- getTimeMilli
        mcc <- lookupEnv "MHSCC"
        compiler <- fromMaybe "cc" <$> lookupEnv "CC"
-       let conf = "unix-" ++ show _wordSize
-           cc = fromMaybe (compiler ++ " -w -Wall -O3 -I" ++ mhsdir flags ++ "/src/runtime " ++ mhsdir flags ++ "/src/runtime/eval-" ++ conf ++ ".c " ++ " $IN -lm -o $OUT") mcc
+       let dir = mhsdir flags
+           conf = "unix-" ++ show _wordSize
+           cc = fromMaybe (compiler ++ " -w -Wall -O3 -I" ++ dir ++ "/src/runtime " ++ dir ++ "/src/runtime/eval-" ++ conf ++ ".c " ++ " $IN -lm -o $OUT") mcc
            cmd = substString "$IN" fn $ substString "$OUT" outFile cc
        when (verbosityGT flags 0) $
          putStrLn $ "Execute: " ++ show cmd
--- a/src/MicroHs/TCMonad.hs
+++ b/src/MicroHs/TCMonad.hs
@@ -98,13 +98,13 @@
   }
 
 instTable :: TCState -> InstTable
-instTable = (.ctxTables._1)
+instTable tc = case ctxTables tc of (x,_,_) -> x
 
 metaTable :: TCState -> MetaTable
-metaTable = (.ctxTables._2)
+metaTable tc = case ctxTables tc of (_,x,_) -> x
 
 typeEqTable :: TCState -> TypeEqTable
-typeEqTable = (.ctxTables._3)
+typeEqTable tc = case ctxTables tc of (_,_,x) -> x
 
 
 putValueTable :: ValueTable -> T ()
@@ -124,17 +124,17 @@
 
 putInstTable :: InstTable -> T ()
 putInstTable is = do
-  (_,ms,eqs) <- gets (.ctxTables)
+  (_,ms,eqs) <- gets ctxTables
   modify $ \ ts -> ts{ ctxTables = (is,ms,eqs) }
 
 putMetaTable :: MetaTable -> T ()
 putMetaTable ms = do
-  (is,_,eqs) <- gets (.ctxTables)
+  (is,_,eqs) <- gets ctxTables
   modify $ \ ts -> ts{ ctxTables = (is,ms,eqs) }
 
 putTypeEqTable :: TypeEqTable -> T ()
 putTypeEqTable eqs = do
-  (is,ms,_) <- gets (.ctxTables)
+  (is,ms,_) <- gets ctxTables
   modify $ \ ts -> ts{ ctxTables = (is,ms,eqs) }
 
 putCtxTables :: (InstTable, MetaTable, TypeEqTable) -> T ()
--