Combinators Theory
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)))