rename mapMaybe -> bindMaybe
This commit is contained in:
parent
87ab7f7ede
commit
22ed581b2d
2 changed files with 10 additions and 10 deletions
|
|
@ -47,8 +47,8 @@ in rec {
|
|||
# unwrapSome = unwrapMaybe (v: v);
|
||||
# unwrapNone = f: unwrapMaybe f (v: v);
|
||||
|
||||
# Map (Monadic Bind Operation)
|
||||
mapMaybe = f: T:
|
||||
# Monadic Bind Operation
|
||||
bindMaybe = f: T:
|
||||
if isSome T
|
||||
then Some (f T._value)
|
||||
else T;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
inherit
|
||||
(this.maybe)
|
||||
isSome
|
||||
mapMaybe
|
||||
bindMaybe
|
||||
;
|
||||
|
||||
inherit
|
||||
|
|
@ -30,17 +30,17 @@ in rec {
|
|||
# check if a value is NixTypes compatible
|
||||
isNT = T:
|
||||
openNT T
|
||||
|> mapMaybe (content: attrNames content |> contains ["sig" "derive" "ops" "req"])
|
||||
|> bindMaybe (content: attrNames content |> contains ["sig" "derive" "ops" "req"])
|
||||
|> isSome;
|
||||
|
||||
isNTClass = T:
|
||||
openNT T
|
||||
|> mapMaybe (content: attrNames content == ["sig" "derive" "ops" "req"])
|
||||
|> bindMaybe (content: attrNames content == ["sig" "derive" "ops" "req"])
|
||||
|> isSome;
|
||||
|
||||
isNTType = T:
|
||||
openNT T
|
||||
|> mapMaybe (content:
|
||||
|> bindMaybe (content:
|
||||
attrNames content
|
||||
== ["instance" "sig" "derive" "ops" "req"]
|
||||
&& content.instance == false)
|
||||
|
|
@ -48,7 +48,7 @@ in rec {
|
|||
|
||||
isNTInstance = T:
|
||||
openNT T
|
||||
|> mapMaybe (content:
|
||||
|> bindMaybe (content:
|
||||
attrNames content
|
||||
== ["instance" "sig" "derive" "ops" "req"]
|
||||
&& content.instance == true)
|
||||
|
|
@ -60,19 +60,19 @@ in rec {
|
|||
impls = type: T:
|
||||
assert enfIsNT T "nt.impls";
|
||||
openNT T
|
||||
|> mapMaybe (content: content.derive |> elem (toTypeSig type))
|
||||
|> bindMaybe (content: content.derive |> elem (toTypeSig type))
|
||||
|> isSome;
|
||||
|
||||
is = type: T:
|
||||
assert enfIsNT T "nt.is";
|
||||
openNT T
|
||||
|> mapMaybe (content: content.sig == toTypeSig type)
|
||||
|> bindMaybe (content: content.sig == toTypeSig type)
|
||||
|> isSome;
|
||||
|
||||
typeSig = T:
|
||||
assert enfIsNT T "nt.typeSig";
|
||||
openNT T
|
||||
|> mapMaybe (getAttr "sig")
|
||||
|> bindMaybe (getAttr "sig")
|
||||
|> isSome;
|
||||
|
||||
toTypeSig = x:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue