on master help sign in
cosmetic: move things around, add section headers
commit2b4a0e3ba43ecfb1d8a6fb2d119063970130adc3 authorEvan Czaplicki <evancz@users.noreply.github.com> dateSun 26 Mar 2017, 17:07 (10 years ago) parentbc3312c
1 file changed+30−15
src/Optimize/Environment.hs+30−15
src/Optimize/Environment.hs+30−15
@@ -1,22 +1,41 @@
11{-# OPTIONS_GHC -Wall #-}
22{-# LANGUAGE OverloadedStrings #-}
33module Optimize.Environment
4− ( Optimizer, run
5− , Env
6− , getVariantDict
7− , getHome
8− , getTailCall, setTailCall
9− , freshName
10− ) where
4+ ( Optimizer, run
5+ , Env
6+ , getVariantDict
7+ , getHome
8+ , getTailCall, setTailCall
9+ , freshName
10+ )
11+ where
1112
1213import qualified Control.Monad.State as State
13−import qualified Data.Text as Text
14+import Data.Monoid ((<>))
1415import Data.Text (Text)
16+import qualified Data.Text as Text
1517
1618import qualified AST.Module.Name as ModuleName
1719import qualified Optimize.DecisionTree as DT
1820
1921
22+
23+-- ENVIRONMENT
24+
25+
26+data Env =
27+ Env
28+ { _hasTailCall :: Bool
29+ , _uid :: Int
30+ , _variantDict :: DT.VariantDict
31+ , _home :: ModuleName.Canonical
32+ }
33+
34+
35+
36+-- OPTIMIZER
37+
38+
2039type Optimizer a =
2140 State.State Env a
2241
@@ -26,12 +45,8 @@ run variantDict home optimizer =
2645 State.evalState optimizer (Env False 0 variantDict home)
2746
2847
29−data Env = Env
30− { _hasTailCall :: Bool
31− , _uid :: Int
32− , _variantDict :: DT.VariantDict
33− , _home :: ModuleName.Canonical
34− }
48+
49+-- HELPERS
3550
3651
3752getVariantDict :: Optimizer DT.VariantDict
@@ -59,5 +74,5 @@ freshName :: Optimizer Text
5974freshName =
6075 do (Env htc uid vd home) <- State.get
6176 State.put (Env htc (uid + 1) vd home)
62− return (Text.append "_p" (Text.pack (show uid)))
77+ return ("_p" <> Text.pack (show uid))
6378