Combinators Theory

From ZCubes Wiki
Revision as of 10:05, 11 March 2024 by Joseph (talk | contribs) (→‎General Information on Combinators)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

General Information on Combinators

Combinatory Logic Website details Combinators. Video by Conor Hoekstra on Function Composition in Programming Languages@CppNorth 2023 is highly recommended for detailed insights into Combinators.

Different combinators combine functions in combinations that can express interesting logic. See more examples at: combinatorylogic.com. Examples below.


B 		= a => b => c => a(b(c))
B1 		= a => b => c => d => a(b(c)(d))
B2 		= a => b => c => d => e => a(b(c)(d)(e))
B3 		= a => b => c => d => a(b(c(d)))
C 		= a => b => c => a(c)(b)
C_ 		= a => b => c => d => a(b)(d)(c)
C__ 		= a => b => c => d => e => a(b)(c)(e)(d)
D 		= a => b => c => d => a(b)(c(d))
D1 		= a => b => c => d => e => a(b)(c)(d(e))
D2 		= a => b => c => d => e => a(b(c))(d(e))
E 		= a => b => c => d => e => a(b)(c(d)(e))
F 		= a => b => c => c(b)(a)
F_ 		= a => b => c => d => a(d)(c)(b)
F__ 		= a => b => c => d => e => a(b)(e)(d)(c)
G 		= a => b => c => d => a(d)(b(c))
H 		= a => b => c => a(b)(c)(b)
I 		= a => a
I_ 		= a => b => a(b)
I__ 		= a => b => c => a(b)(c)
J 		= a => b => c => d => a(b)(a(d)(c))
K 		= a => b => a
L 		= a => b => a(b(b))
M 		= a => a(a)
M2 		= a => b => a(b)(a(b))
O 		= a => b => b(a(b))
Q 		= a => b => c => b(a(c))
Q1 		= a => b => c => a(c(b))
Q2 		= a => b => c => b(c(a))
Q3 		= a => b => c => c(a(b))
Q4 		= a => b => c => c(b(a))
R 		= a => b => c => b(c)(a)
R_ 		= a => b => c => d => a(c)(d)(b)
R__ 		= a => b => c => d => e => a(b)(d)(e)(c)
S 		= a => b => c => a(c)(b(c))
T 		= a => b => b(a)
U 		= a => b => b(a(a)(b))
V 		= a => b => c => c(a)(b)
V_ 		= a => b => c => d => a(c)(b)(d)
V__ 		= a => b => c => d => e => a(b)(e)(c)(d)
W 		= a => b => a(b)(b)
W_ 		= a => b => c => a(b)(c)(c)
W__ 		= a => b => c => d => a(b)(c)(d)(d)
W1 		= a => b => b(a)(a)
Y 		= a => (b => b(b))(b => a(c => b(b)(c)))

See Also

Combinators in z^3