Skip to content

Commit 47b1f03

Browse files
committed
Parser: make imports explicit
Allows to observe specialization of functions.
1 parent bb1ebba commit 47b1f03

File tree

1 file changed

+38
-18
lines changed

1 file changed

+38
-18
lines changed

src/Nix/Parser.hs

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -48,44 +48,64 @@ where
4848

4949
import Prelude hiding ( readFile )
5050

51-
import Control.Applicative hiding ( many
52-
, some
51+
import Control.DeepSeq ( NFData )
52+
import Control.Monad ( guard
53+
, void
54+
, liftM2
55+
, msum
56+
, MonadPlus(mplus)
57+
)
58+
import Control.Monad.Combinators.Expr ( makeExprParser
59+
, Operator( Postfix
60+
, InfixN
61+
, InfixR
62+
, Prefix
63+
, InfixL
64+
)
65+
)
66+
import Control.Monad.State.Strict ( evalState
67+
, MonadState(get, put)
68+
, State
5369
)
54-
import Control.DeepSeq
55-
import Control.Monad
56-
import Control.Monad.Combinators.Expr
57-
import Control.Monad.State.Strict
5870
import Data.Char ( isAlpha
5971
, isDigit
6072
, isSpace
6173
)
6274
import Data.Data ( Data(..) )
6375
import Data.Fix ( Fix(..) )
64-
import Data.Functor
76+
import Data.Functor ( ($>) )
6577
import Data.HashSet ( HashSet )
6678
import qualified Data.HashSet as HashSet
6779
import Data.List.NonEmpty ( NonEmpty(..) )
6880
import qualified Data.List.NonEmpty as NE
6981
import qualified Data.Map as Map
70-
import Data.Text hiding ( foldr1
71-
, concat
72-
, concatMap
73-
, zipWith
82+
import Data.Text ( Text
83+
, cons
84+
, singleton
85+
, pack
7486
)
75-
import Data.Text.Encoding
87+
import Data.Text.Encoding ( decodeUtf8 )
7688
import Data.Typeable ( Typeable )
77-
import Data.Void
78-
import GHC.Generics hiding ( Prefix )
89+
import Data.Void ( Void )
90+
import GHC.Generics ( Generic )
7991
import Nix.Expr hiding ( ($>) )
80-
import Nix.Expr.Strings
81-
import Nix.Render
92+
import Nix.Expr.Strings ( escapeCodes
93+
, stripIndent
94+
, mergePlain
95+
, removePlainEmpty
96+
)
97+
import Nix.Render ( MonadFile(readFile) )
98+
import Nix.Utils ( bool )
8299
import Prettyprinter ( Doc
83100
, pretty
84101
)
85102
import Text.Megaparsec hiding ( State )
86-
import Text.Megaparsec.Char
103+
import Text.Megaparsec.Char ( space1
104+
, string
105+
, letterChar
106+
, char
107+
)
87108
import qualified Text.Megaparsec.Char.Lexer as L
88-
import Nix.Utils ( bool )
89109

90110
infixl 3 <+>
91111
(<+>) :: MonadPlus m => m a -> m a -> m a

0 commit comments

Comments
 (0)