3 个版本
0.1.2 | 2022 年 1 月 26 日 |
---|---|
0.1.1 | 2022 年 1 月 2 日 |
0.1.0 | 2022 年 1 月 2 日 |
19 在 #fn
9KB
78 行
双组合器
叠加
/x:A
M1-D2<
\y:B
M1.AT(D2) (x,y)
M1: Fn(C)->D
D2: Fn(A,B)->C
对置
/M2-x:A
D1<
\M2-y:A
D1.AP(M2) (x,y)
D1: Fn(B,B)->C
M2: Fn(A)->B
组合
M1-M2-y:B
M1.CP(M2) (y)
M1: Fn(D)->E
M2: Fn(B)->C
钩子
/x:A
D1<
\M2-y:B
D1.HK(M2)(x,y)
D1: Fn(A,C)->D
M2: Fn(B)->C
单钩子
(y)
/ \
D1< \
\M2-y:B
D1.MH(M2)(y)
D1: Fn(B,C)->D
M2: Fn(B)->C
反转钩子
(y)
/ \ /M-x:A
D1< X
\ / \-y:B
(M2(x))
D1.RH(M2)(x,y)
D1: Fn(B,C)->D
M2: Fn(A)->C
单组合器
反射
(y)
/ \
D1< >y:B
\ /
(y)
D1.RF()(y)
D1 : (B,B)->C
翻转
(y)
/ \ /x:A
D1< X
\ / \y:B
(x)
D1.FL()(x,y)
D1 : Fn(B,A)->C
lib.rs
:
双组合器
叠加
/x:A
M1-D2<
\y:B
M1.AT(D2) (x,y)
M1: Fn(C)->D
D2: Fn(A,B)->C
对置
/M2-x:A
D1<
\M2-y:A
D1.AP(M2) (x,y)
D1: Fn(B,B)->C
M2: Fn(A)->B
组合
M1-M2-y:B
M1.CP(M2) (y)
M1: Fn(D)->E
M2: Fn(B)->C
钩子
/x:A
D1<
\M2-y:B
D1.HK(M2)(x,y)
D1: Fn(A,C)->D
M2: Fn(B)->C
单钩子
(y)
/ \
D1< \
\M2-y:B
D1.MH(M2)(y)
D1: Fn(B,C)->D
M2: Fn(B)->C
反转钩子
(y)
/ \ /M-x:A
D1< X
\ / \-y:B
(M2(x))
D1.RH(M2)(x,y)
D1: Fn(B,C)->D
M2: Fn(A)->C
单组合器
反射
(y)
/ \
D1< >y:B
\ /
(y)
D1.RF()(y)
D1 : (B,B)->C
翻转
(y)
/ \ /x:A
D1< X
\ / \y:B
(x)
D1.FL()(x,y)
D1 : Fn(B,A)->C