style: Switch to nixfmt from nixpkgs-fmt
Most of the ecosystem has moved to this formatter, and many people configured their editors to autoformat it with this formatter. Closes: https://git.snix.dev/snix/snix/issues/62 Change-Id: Icf39e7836c91fc2ae49fbe22a40a639105bfb0bd Reviewed-on: https://cl.snix.dev/c/snix/+/30671 Reviewed-by: Florian Klink <flokli@flokli.de> Tested-by: besadii Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com>
This commit is contained in:
parent
3443e6bd08
commit
91d02d8c84
136 changed files with 39952 additions and 11007 deletions
|
|
@ -10,26 +10,23 @@ rec {
|
|||
#
|
||||
|
||||
# Type: stateMonad s a -> (a -> stateMonad s b) -> stateMonad s b
|
||||
bind = action: f: state:
|
||||
bind =
|
||||
action: f: state:
|
||||
let
|
||||
afterAction = action state;
|
||||
in
|
||||
(f afterAction.value) afterAction.state;
|
||||
|
||||
# Type: stateMonad s a -> stateMonad s b -> stateMonad s b
|
||||
after = action1: action2: state: action2 (action1 state).state;
|
||||
after =
|
||||
action1: action2: state:
|
||||
action2 (action1 state).state;
|
||||
|
||||
# Type: stateMonad s (stateMonad s a) -> stateMonad s a
|
||||
join = action: bind action (action': action');
|
||||
|
||||
# Type: [a] -> (a -> stateMonad s b) -> stateMonad s null
|
||||
for_ = xs: f:
|
||||
builtins.foldl'
|
||||
(laterAction: x:
|
||||
after (f x) laterAction
|
||||
)
|
||||
(pure null)
|
||||
xs;
|
||||
for_ = xs: f: builtins.foldl' (laterAction: x: after (f x) laterAction) (pure null) xs;
|
||||
|
||||
#
|
||||
# Applicative
|
||||
|
|
@ -52,10 +49,16 @@ rec {
|
|||
#
|
||||
|
||||
# Type: (s -> s) -> stateMonad s null
|
||||
modify = f: state: { value = null; state = f state; };
|
||||
modify = f: state: {
|
||||
value = null;
|
||||
state = f state;
|
||||
};
|
||||
|
||||
# Type: stateMonad s s
|
||||
get = state: { value = state; inherit state; };
|
||||
get = state: {
|
||||
value = state;
|
||||
inherit state;
|
||||
};
|
||||
|
||||
# Type: s -> stateMonad s null
|
||||
set = new: modify (_: new);
|
||||
|
|
@ -64,9 +67,15 @@ rec {
|
|||
getAttr = attr: fmap (state: state.${attr}) get;
|
||||
|
||||
# Type: str -> (any -> any) -> stateMonad s null
|
||||
modifyAttr = attr: f: modify (state: state // {
|
||||
${attr} = f state.${attr};
|
||||
});
|
||||
modifyAttr =
|
||||
attr: f:
|
||||
modify (
|
||||
state:
|
||||
state
|
||||
// {
|
||||
${attr} = f state.${attr};
|
||||
}
|
||||
);
|
||||
|
||||
# Type: str -> any -> stateMonad s null
|
||||
setAttr = attr: value: modifyAttr attr (_: value);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue