Lambda calculus (ConceptTopic, 3)
From Hi.gher. Space
Basic
Identity, "Idiot"
ExPar: [#img] is obsolete, use [#embed] instead
Always returns its parameter.
- Symbol: I
Mockingbird
ExPar: [#img] is obsolete, use [#embed] instead
Gives the same result as applying its parameter to itself.
- Symbol: ω
Omega
ExPar: [#img] is obsolete, use [#embed] instead
The result of applying the Mockingbird to itself. Also the result of applying the Why bird to the Identity bird. Note that this can't take any parameter, since its evaluation results in an infinite loop. Usually treated as "undefined" and is said to be related to infinity.
- Symbol: Ω
Why
ExPar: [#img] is obsolete, use [#embed] instead
A fixed-point combinator. Returns a value which remains the same when transformed under the original parameter.
- Symbol: Y
Kestrel
ExPar: [#img] is obsolete, use [#embed] instead
Always returns the first of two parameters (and ignores the second). Usually treated as "true".
- Symbol: K
Kite
ExPar: [#img] is obsolete, use [#embed] instead
Always returns the second of two parameters (and ignores the first). Usually treated as "false".
- Symbol: KI (because it is the result of applying the Kestrel to the Identity).
Identity once removed
ExPar: [#img] is obsolete, use [#embed] instead
By definition, it gives the same result as applying the first parameter to the second. Alternatively, when called with one parameter it returns that parameter... unless I'm missing something. So what would make it any more worthwhile using than the ordinary Identity bird?
- Symbol: I* or CT (because it is technically the crossed Thrush, see below).
Thrush
ExPar: [#img] is obsolete, use [#embed] instead
- Symbol: T
Konstant Mocker
ExPar: [#img] is obsolete, use [#embed] instead
- Symbol: Kω
Crossed Konstant Mocker
ExPar: [#img] is obsolete, use [#embed] instead
- Symbol: C(Kω)
Lark
ExPar: [#img] is obsolete, use [#embed] instead
- Symbol: L
Owl
ExPar: [#img] is obsolete, use [#embed] instead
- Symbol: O
Warbler
ExPar: [#img] is obsolete, use [#embed] instead
- Symbol: W
Crossed Warbler
ExPar: [#img] is obsolete, use [#embed] instead
- Symbol: CW
Advanced
Turing
ExPar: [#img] is obsolete, use [#embed] instead
Applying the Turing bird to itself gives you the Theta bird, which is a fixed-point combinator similar to the Omega bird.
- Symbol: U
Cardinal
ExPar: [#img] is obsolete, use [#embed] instead
Returns the "crossed" version of its parameter, hence why "crossed" birds are usually written as Cx.
- Symbol: C
Bluebird
ExPar: [#img] is obsolete, use [#embed] instead
Returns the composition of its two parameters a and b, i.e. when the result is applied to a further parameter c, its result is the same as applying b to c and then applying a to that. (Notice that the order of the parameters may seem backwards.)
- Symbol: B
Vireo
ExPar: [#img] is obsolete, use [#embed] instead
- Symbol: V
Robin
ExPar: [#img] is obsolete, use [#embed] instead
- Symbol: R
Starling
ExPar: [#img] is obsolete, use [#embed] instead
All birds can be derived from some combination of Kestrels and Starlings. Roughly, the Kestrel "destroys", while the Starling "creates".
- Symbol: S
Jay
ExPar: [#img] is obsolete, use [#embed] instead
Similar to the Starling. All birds, except those which ignore some of their parameters, can be derived from some combination of Idiots and Jays.
- Symbol: J
Starling-Kestrel constructions
I = SKK B = S(KS)K C = S(BBS)(KK) O = SI W = CSI V = BCT
Jay-Idiot constructions
T = JII R = JT C = RRR B = C(JIC)(JI) ω = C(C(C(BJT)T)T)T W = C(BωR) S = B(BW)(BBC)
Application of one parameter
Y | T | L | O | W | U | B | V | R | S | J | |
---|---|---|---|---|---|---|---|---|---|---|---|
Y | |||||||||||
T | |||||||||||
L | |||||||||||
O | |||||||||||
W | |||||||||||
U | |||||||||||
B | |||||||||||
V | |||||||||||
R | |||||||||||
S | |||||||||||
J |
Logic
true = K false = KI not = V false true implies = R true and = R false or = T true equiv = CS not
Arithmetic
zero = I succ = V false pred = T false isZero = T true