summaryrefslogtreecommitdiff
path: root/Main.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Main.hs')
-rw-r--r--Main.hs13
1 files changed, 6 insertions, 7 deletions
diff --git a/Main.hs b/Main.hs
index b908807..f4c0472 100644
--- a/Main.hs
+++ b/Main.hs
@@ -3,18 +3,16 @@ module Main where
import Control.Monad
import Data.Char
import Data.List
-import Data.Either
import Data.Maybe
import System.Console.Readline
import System.Exit
import System.IO
import qualified Data.Map.Strict as Map
-import AST hiding (main)
+import AST
import Simplify
import Parser
import PrettyPrint
-import Utility
import Debug
@@ -22,7 +20,7 @@ trimlr :: String -> String
trimlr = reverse . dropWhile isSpace . reverse . dropWhile isSpace
findstr :: String -> String -> Maybe Int
-findstr pat sub = go sub 0
+findstr pat topsub = go topsub 0
where len = length pat
go :: String -> Int -> Maybe Int
go "" _ = Nothing
@@ -103,14 +101,15 @@ readrules handle = liftM (uncurry fixincludes) $ go "general" Map.empty Map.empt
fixincludes :: Map.Map String [(AST,AST)] -- rules db
-> Map.Map String [String] -- to be included sections
-> Map.Map String [(AST,AST)] -- resulting rules db
- fixincludes db includes = Map.foldlWithKey insertincludes db includes
+ fixincludes topdb includes = Map.foldlWithKey insertincludes topdb includes
where
insertincludes :: Map.Map String [(AST,AST)] -- db
-> String -- section
-> [String] -- sections to be included
-> Map.Map String [(AST,AST)] -- resulting db
- insertincludes db sect incls = foldl (\db incl -> insertinclude db sect incl) db incls
- where insertinclude db sect incl = Map.insertWith (++) sect (fromJust $ Map.lookup incl db) db
+ insertincludes db sect incls =
+ foldl (\db' incl -> insertinclude db' sect incl) db incls
+ where insertinclude db' sect' incl = Map.insertWith (++) sect' (fromJust $ Map.lookup incl db') db'
printrules :: [(AST,AST)] -> IO ()