@@ -86,12 +86,12 @@ data HashMode = Flat | Recursive
8686makeStorePathName :: (Framed e m ) => Text -> m Store. StorePathName
8787makeStorePathName name = case Store. makeStorePathName name of
8888 Left err -> throwError $ ErrorCall $ " Invalid name '" <> show name <> " ' for use in a store path: " <> err
89- Right spname -> return spname
89+ Right spname -> pure spname
9090
9191parsePath :: (Framed e m ) => Text -> m Store. StorePath
9292parsePath p = case Store. parsePath " /nix/store" (Text. encodeUtf8 p) of
9393 Left err -> throwError $ ErrorCall $ " Cannot parse store path " <> show p <> " :\n " <> show err
94- Right path -> return path
94+ Right path -> pure path
9595
9696writeDerivation :: (Framed e m , MonadStore m ) => Derivation -> m Store. StorePath
9797writeDerivation drv@ Derivation {inputs, name} = do
@@ -108,7 +108,7 @@ hashDerivationModulo (Derivation {
108108 outputs,
109109 hashMode
110110 }) = case Map. toList outputs of
111- [(" out" , path)] -> return $ Store. hash @ 'Store.SHA256 $ Text. encodeUtf8
111+ [(" out" , path)] -> pure $ Store. hash @ 'Store.SHA256 $ Text. encodeUtf8
112112 $ " fixed:out"
113113 <> (if hashMode == Recursive then " :r" else " " )
114114 <> " :" <> (Store. algoName @ hashType )
@@ -119,13 +119,13 @@ hashDerivationModulo drv@Derivation{inputs = (inputSrcs, inputDrvs)} = do
119119 cache <- gets snd
120120 inputsModulo <- Map. fromList <$> forM (Map. toList inputDrvs) (\ (path, outs) ->
121121 case MS. lookup path cache of
122- Just hash -> return (hash, outs)
122+ Just hash -> pure (hash, outs)
123123 Nothing -> do
124124 drv' <- readDerivation $ Text. unpack path
125125 hash <- Store. encodeInBase Store. Base16 <$> hashDerivationModulo drv'
126- return (hash, outs)
126+ pure (hash, outs)
127127 )
128- return $ Store. hash @ 'Store.SHA256 $ Text. encodeUtf8 $ unparseDrv (drv {inputs = (inputSrcs, inputsModulo)})
128+ pure $ Store. hash @ 'Store.SHA256 $ Text. encodeUtf8 $ unparseDrv (drv {inputs = (inputSrcs, inputsModulo)})
129129
130130unparseDrv :: Derivation -> Text
131131unparseDrv Derivation {.. } = Text. append " Derive" $ parens
@@ -169,7 +169,7 @@ readDerivation path = do
169169 content <- Text. decodeUtf8 <$> readFile path
170170 case parse derivationParser path content of
171171 Left err -> throwError $ ErrorCall $ " Failed to parse " <> show path <> " :\n " <> show err
172- Right drv -> return drv
172+ Right drv -> pure drv
173173
174174derivationParser :: Parsec () Text Derivation
175175derivationParser = do
@@ -197,7 +197,7 @@ derivationParser = do
197197 let name = " " -- FIXME (extract from file path ?)
198198 let useJson = [" __json" ] == Map. keys env
199199
200- return $ Derivation {inputs = (inputSrcs, inputDrvs), .. }
200+ pure $ Derivation {inputs = (inputSrcs, inputDrvs), .. }
201201 where
202202 s :: Parsec () Text Text
203203 s = fmap Text. pack $ string " \" " *> manyTill (escaped <|> regular) (string " \" " )
@@ -238,7 +238,7 @@ defaultDerivationStrict = fromValue @(AttrSet (NValue t f m)) >=> \s -> do
238238 Just (Store. SomeDigest digest) -> do
239239 let out = pathToText $ Store. makeFixedOutputPath " /nix/store" (hashMode drv == Recursive ) digest drvName
240240 let env' = if useJson drv then env drv else Map. insert " out" out (env drv)
241- return $ drv { inputs, env = env', outputs = Map. singleton " out" out }
241+ pure $ drv { inputs, env = env', outputs = Map. singleton " out" out }
242242
243243 Nothing -> do
244244 hash <- hashDerivationModulo $ drv
@@ -248,7 +248,7 @@ defaultDerivationStrict = fromValue @(AttrSet (NValue t f m)) >=> \s -> do
248248 else foldl' (\ m k -> Map. insert k " " m) (env drv) (Map. keys $ outputs drv)
249249 }
250250 outputs' <- sequence $ Map. mapWithKey (\ o _ -> makeOutputPath o hash drvName) (outputs drv)
251- return $ drv
251+ pure $ drv
252252 { inputs
253253 , outputs = outputs'
254254 , env = if useJson drv then env drv else Map. union outputs' (env drv)
@@ -265,15 +265,15 @@ defaultDerivationStrict = fromValue @(AttrSet (NValue t f m)) >=> \s -> do
265265 attrSet = M. map nvStr $ M. fromList $ (" drvPath" , drvPathWithContext): Map. toList outputsWithContext
266266 -- TODO: Add location information for all the entries.
267267 -- here --v
268- return $ nvSet attrSet M. empty
268+ pure $ nvSet attrSet M. empty
269269
270270 where
271271
272272 pathToText = Text. decodeUtf8 . Store. storePathToRawFilePath
273273
274274 makeOutputPath o h n = do
275275 name <- makeStorePathName (Store. unStorePathName n <> if o == " out" then " " else " -" <> o)
276- return $ pathToText $ Store. makeStorePath " /nix/store" (" output:" <> Text. encodeUtf8 o) h name
276+ pure $ pathToText $ Store. makeStorePath " /nix/store" (" output:" <> Text. encodeUtf8 o) h name
277277
278278 toStorePaths ctx = foldl (flip addToInputs) (Set. empty, Map. empty) ctx
279279 addToInputs (StringContext path kind) = case kind of
@@ -294,43 +294,43 @@ buildDerivationWithContext drvAttrs = do
294294 drvName <- getAttr " name" $ extractNixString >=> assertDrvStoreName
295295 withFrame' Info (ErrorCall $ " While evaluating derivation " <> show drvName) $ do
296296
297- useJson <- getAttrOr " __structuredAttrs" False $ return
298- ignoreNulls <- getAttrOr " __ignoreNulls" False $ return
297+ useJson <- getAttrOr " __structuredAttrs" False $ pure
298+ ignoreNulls <- getAttrOr " __ignoreNulls" False $ pure
299299
300300 args <- getAttrOr " args" [] $ mapM (fromValue' >=> extractNixString)
301301 builder <- getAttr " builder" $ extractNixString
302302 platform <- getAttr " system" $ extractNoCtx >=> assertNonNull
303- mHash <- getAttrOr " outputHash" Nothing $ extractNoCtx >=> (return . pure )
303+ mHash <- getAttrOr " outputHash" Nothing $ extractNoCtx >=> (pure . pure )
304304 hashMode <- getAttrOr " outputHashMode" Flat $ extractNoCtx >=> parseHashMode
305305 outputs <- getAttrOr " outputs" [" out" ] $ mapM (fromValue' >=> extractNoCtx)
306306
307307 mFixedOutput <- case mHash of
308- Nothing -> return Nothing
308+ Nothing -> pure Nothing
309309 Just hash -> do
310310 when (outputs /= [" out" ]) $ lift $ throwError $ ErrorCall $ " Multiple outputs are not supported for fixed-output derivations"
311311 hashType <- getAttr " outputHashAlgo" $ extractNoCtx
312- digest <- lift $ either (throwError . ErrorCall ) return $ Store. mkNamedDigest hashType hash
313- return $ pure digest
312+ digest <- lift $ either (throwError . ErrorCall ) pure $ Store. mkNamedDigest hashType hash
313+ pure $ pure digest
314314
315315 -- filter out null values if needed.
316316 attrs <- if not ignoreNulls
317- then return drvAttrs
317+ then pure drvAttrs
318318 else M. mapMaybe id <$> forM drvAttrs (demand' ?? (\ case
319- NVConstant NNull -> return Nothing
320- value -> return $ pure value
319+ NVConstant NNull -> pure Nothing
320+ value -> pure $ pure value
321321 ))
322322
323323 env <- if useJson
324324 then do
325325 jsonString :: NixString <- lift $ nvalueToJSONNixString $ flip nvSet M. empty $
326326 deleteKeys [ " args" , " __ignoreNulls" , " __structuredAttrs" ] attrs
327327 rawString :: Text <- extractNixString jsonString
328- return $ Map. singleton " __json" rawString
328+ pure $ Map. singleton " __json" rawString
329329 else
330330 mapM (lift . coerceToString callFunc CopyToStore CoerceAny >=> extractNixString) $
331331 Map. fromList $ M. toList $ deleteKeys [ " args" , " __ignoreNulls" ] attrs
332332
333- return $ defaultDerivation { platform, builder, args, env, hashMode, useJson
333+ pure $ defaultDerivation { platform, builder, args, env, hashMode, useJson
334334 , name = drvName
335335 , outputs = Map. fromList $ fmap (\ o -> (o, " " )) outputs
336336 , mFixed = mFixedOutput
@@ -339,13 +339,13 @@ buildDerivationWithContext drvAttrs = do
339339 -- common functions, lifted to WithStringContextT
340340
341341 demand' :: NValue t f m -> (NValue t f m -> WithStringContextT m a ) -> WithStringContextT m a
342- demand' v f = join $ lift $ demand v (return . f)
342+ demand' v f = join $ lift $ demand v (pure . f)
343343
344344 fromValue' :: (FromValue a m (NValue' t f m (NValue t f m )), MonadNix e t f m ) => NValue t f m -> WithStringContextT m a
345345 fromValue' = lift . fromValue
346346
347347 withFrame' :: (Framed e m , Exception s ) => NixLevel -> s -> WithStringContextT m a -> WithStringContextT m a
348- withFrame' level f = join . lift . withFrame level f . return
348+ withFrame' level f = join . lift . withFrame level f . pure
349349
350350 -- shortcuts to get the (forced) value of an AttrSet field
351351
@@ -356,7 +356,7 @@ buildDerivationWithContext drvAttrs = do
356356 Just v -> withFrame' Info (ErrorCall $ " While evaluating attribute '" <> show n <> " '" ) $
357357 fromValue' v >>= f
358358
359- getAttrOr n d f = getAttrOr' n (return d) f
359+ getAttrOr n d f = getAttrOr' n (pure d) f
360360
361361 getAttr n = getAttrOr' n (throwError $ ErrorCall $ " Required attribute '" <> show n <> " ' not found." )
362362
@@ -370,22 +370,22 @@ buildDerivationWithContext drvAttrs = do
370370 when (Text. length name > 211 ) $ failWith " must be no longer than 211 characters"
371371 when (Text. any invalid name) $ failWith " contains some invalid character"
372372 when (" .drv" `Text.isSuffixOf` name) $ failWith " is not allowed to end in '.drv'"
373- return name
373+ pure name
374374
375375 extractNoCtx :: MonadNix e t f m => NixString -> WithStringContextT m Text
376376 extractNoCtx ns = case getStringNoContext ns of
377377 Nothing -> lift $ throwError $ ErrorCall $ " The string " <> show ns <> " is not allowed to have a context."
378- Just v -> return v
378+ Just v -> pure v
379379
380380 assertNonNull :: MonadNix e t f m => Text -> WithStringContextT m Text
381381 assertNonNull t = do
382382 when (Text. null t) $ lift $ throwError $ ErrorCall " Value must not be empty"
383- return t
383+ pure t
384384
385385 parseHashMode :: MonadNix e t f m => Text -> WithStringContextT m HashMode
386386 parseHashMode = \ case
387- " flat" -> return Flat
388- " recursive" -> return Recursive
387+ " flat" -> pure Flat
388+ " recursive" -> pure Recursive
389389 other -> lift $ throwError $ ErrorCall $ " Hash mode " <> show other <> " is not valid. It must be either 'flat' or 'recursive'"
390390
391391 -- Other helpers
0 commit comments