git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Use strict writers to avoid leaking memory
ad2ac14Gary Burgess
psc/Main.hs+1−1
@@ -22,7 +22,7 @@ module Main where
22import Control.Applicative
22import Control.Applicative
23import Control.Monad
23import Control.Monad
24import Control.Monad.Error.Class (MonadError(..))
24import Control.Monad.Error.Class (MonadError(..))
25−import Control.Monad.Writer
25+import Control.Monad.Writer.Strict
26
26
27import Data.Version (showVersion)
27import Data.Version (showVersion)
28import qualified Data.Map as M
28import qualified Data.Map as M
psci/PSCi.hs+1−1
@@ -36,7 +36,7 @@ import Control.Monad.Trans.Except (runExceptT)
36import Control.Monad.Trans.Maybe (MaybeT(..), runMaybeT)
36import Control.Monad.Trans.Maybe (MaybeT(..), runMaybeT)
37import Control.Monad.Trans.State.Strict
37import Control.Monad.Trans.State.Strict
38import Control.Monad.IO.Class (liftIO)
38import Control.Monad.IO.Class (liftIO)
39−import Control.Monad.Writer (runWriter)
39+import Control.Monad.Writer.Strict (runWriter)
40import qualified Control.Monad.Trans.State.Lazy as L
40import qualified Control.Monad.Trans.State.Lazy as L
41
41
42import Options.Applicative as Opts
42import Options.Applicative as Opts
psci/tests/Main.hs+1−1
@@ -5,7 +5,7 @@ module Main where
5import Control.Monad.Trans.State.Strict (runStateT)
5import Control.Monad.Trans.State.Strict (runStateT)
6import Control.Monad (when, forM)
6import Control.Monad (when, forM)
7import Control.Applicative
7import Control.Applicative
8−import Control.Monad.Writer (runWriterT)
8+import Control.Monad.Writer.Strict (runWriterT)
9import Control.Monad.Trans.Except (runExceptT)
9import Control.Monad.Trans.Except (runExceptT)
10
10
11import Data.List (sort)
11import Data.List (sort)
src/Language/PureScript/Docs/ParseAndDesugar.hs+1−1
@@ -11,7 +11,7 @@ import Control.Monad
11import Control.Applicative
11import Control.Applicative
12
12
13import Control.Monad.Trans.Except
13import Control.Monad.Trans.Except
14−import Control.Monad.Writer (WriterT(), runWriterT)
14+import Control.Monad.Writer.Strict (WriterT(), runWriterT)
15import Control.Monad.Error.Class (MonadError(..))
15import Control.Monad.Error.Class (MonadError(..))
16import Control.Monad.IO.Class (MonadIO(..))
16import Control.Monad.IO.Class (MonadIO(..))
17
17
src/Language/PureScript/Make.hs+1−1
@@ -41,7 +41,7 @@ import Control.Monad
41import Control.Monad.Error.Class (MonadError(..))
41import Control.Monad.Error.Class (MonadError(..))
42import Control.Monad.Trans.Except
42import Control.Monad.Trans.Except
43import Control.Monad.Reader
43import Control.Monad.Reader
44−import Control.Monad.Writer
44+import Control.Monad.Writer.Strict
45import Control.Monad.Supply
45import Control.Monad.Supply
46
46
47import Data.Function (on)
47import Data.Function (on)
src/Language/PureScript/Publish.hs+1−1
@@ -39,7 +39,7 @@ import Control.Exception (catch, try)
39import Control.Monad.Trans.Maybe (MaybeT(..), runMaybeT)
39import Control.Monad.Trans.Maybe (MaybeT(..), runMaybeT)
40import Control.Monad.Trans.Except
40import Control.Monad.Trans.Except
41import Control.Monad.Error.Class (MonadError(..))
41import Control.Monad.Error.Class (MonadError(..))
42−import Control.Monad.Writer
42+import Control.Monad.Writer.Strict
43
43
44import System.Directory (doesFileExist, findExecutable)
44import System.Directory (doesFileExist, findExecutable)
45import System.Process (readProcess)
45import System.Process (readProcess)
src/Language/PureScript/TypeChecker/Monad.hs+1−1
@@ -24,7 +24,7 @@ import qualified Data.Map as M
24import Control.Applicative
24import Control.Applicative
25import Control.Monad.State
25import Control.Monad.State
26import Control.Monad.Unify
26import Control.Monad.Unify
27−import Control.Monad.Writer
27+import Control.Monad.Writer.Strict
28import Control.Monad.Error.Class (MonadError(..))
28import Control.Monad.Error.Class (MonadError(..))
29import Control.Monad.Trans.Except
29import Control.Monad.Trans.Except
30
30
tests/Main.hs+1−1
@@ -53,7 +53,7 @@ import Control.Applicative
53import Control.Arrow ((>>>))
53import Control.Arrow ((>>>))
54
54
55import Control.Monad.Reader
55import Control.Monad.Reader
56−import Control.Monad.Writer
56+import Control.Monad.Writer.Strict
57import Control.Monad.Trans.Maybe
57import Control.Monad.Trans.Maybe
58import Control.Monad.Trans.Except
58import Control.Monad.Trans.Except
59import Control.Monad.Error.Class
59import Control.Monad.Error.Class