simplify evalExpression
This commit is contained in:
parent
f682907c97
commit
f2999a33bb
10
src/Nix.hs
10
src/Nix.hs
|
@ -110,7 +110,10 @@ evaluateExpression mpath evaluator handler expr = do
|
|||
args <- traverse (traverse eval') $ map (second parseArg) (arg opts) ++ map
|
||||
(second mkStr)
|
||||
(argstr opts)
|
||||
compute evaluator expr (argmap args) handler
|
||||
evaluator mpath expr >>= \f -> demand f $ \f' ->
|
||||
processResult handler =<< case f' of
|
||||
NVClosure _ g -> g (argmap args)
|
||||
_ -> pure f
|
||||
where
|
||||
parseArg s = case parseNixText s of
|
||||
Success x -> x
|
||||
|
@ -120,11 +123,6 @@ evaluateExpression mpath evaluator handler expr = do
|
|||
|
||||
argmap args = nvSet (M.fromList args) mempty
|
||||
|
||||
compute ev x args p = ev mpath x >>= \f -> demand f $ \f' ->
|
||||
processResult p =<< case f' of
|
||||
NVClosure _ g -> g args
|
||||
_ -> pure f
|
||||
|
||||
processResult
|
||||
:: forall e t f m a
|
||||
. (MonadNix e t f m, Has e Options)
|
||||
|
|
Loading…
Reference in New Issue