From 1f983c8c0fc291be41967235cd6981f12c02cf76 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sat, 16 Oct 2021 17:55:50 -0400 Subject: Add Conor's Golden Eagle coinage --- doc/birds.md | 26 ++++++++++++++------------ docs/doc/birds.html | 3 ++- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/doc/birds.md b/doc/birds.md index 75498625..55ee37b6 100644 --- a/doc/birds.md +++ b/doc/birds.md @@ -4,18 +4,20 @@ Some people consider it reasonable to name [combinators](primitive.md#modifiers) after types of birds. [Here's](https://www.angelfire.com/tx4/cus/combinator/birds.html) one compendium of such names, albeit still missing the Phoenix or `S'` combinator `labcd.a(bd)(cd)` ([this one](https://hackage.haskell.org/package/data-aviary-0.4.0/docs/Data-Aviary-Birds.html) has more). There is something wrong with these people. Some of these birds are not even real. "Quixotic bird"? Have you not heard of a quail? Nonetheless, I don't judge such afflicted souls (certainly not publicly), and have provided this translation table to explain BQN in terms they can understand. -| BQN | Bird | 1 | Bird | 2 -|:-------:|-----------|-------|-------------|--------- -| `⊣` | Identity | `I` | Kestrel | `K` -| `⊢` | Identity | `I` | | `KI` -| `∘` | Bluebird | `B` | Blackbird | `B₁` -| `○` | Bluebird | `B` | Psi? | `D₂`-like: `labcd.a(bc)(bd)` -| `˙` | Kestrel | `K` | | `KK` -| `⊸` | | `R*S` | Queer | `Q` -| `⟜` | Starling | `S` | ~Dove | `D`-like: `labcd.ac(bd)` -| `˜` | Warbler | `W` | Cardinal | `C` -| `k G H` | Dove | `D` | Eagle | `E` -| `F G H` | Phoenix | `S'` | ~Bald Eagle | `Ê`-like: `labcde.a(bde)(cde)` +| BQN | Bird | 1 | Bird | 2 +|:-------:|-----------|-------|--------------|--------- +| `⊣` | Identity | `I` | Kestrel | `K` +| `⊢` | Identity | `I` | | `KI` +| `∘` | Bluebird | `B` | Blackbird | `B₁` +| `○` | Bluebird | `B` | Psi? | `D₂`-like: `labcd.a(bc)(bd)` +| `˙` | Kestrel | `K` | | `KK` +| `⊸` | | `R*S` | Queer | `Q` +| `⟜` | Starling | `S` | ~Dove | `D`-like: `labcd.ac(bd)` +| `˜` | Warbler | `W` | Cardinal | `C` +| `k G H` | Dove | `D` | Eagle | `E` +| `F G H` | Phoenix | `S'` | Golden Eagle | `Ê`-like: `labcde.a(bde)(cde)` + +The name "Golden Eagle" is a [fever dream](https://nitter.net/code_report/status/1440208242529882112#m) of bird enthusiast Conor Hoekstra, who saw it emerge from the Bald Eagle when arguments `fg` are set equal to `de`. Lambda calculus doesn't have BQN's polymorphism on one or two arguments, so each BQN combinator corresponds to two lambda calculus forms depending on the number of arguments, giving the two columns of birds above. diff --git a/docs/doc/birds.html b/docs/doc/birds.html index 073bfa1a..b9bd02e7 100644 --- a/docs/doc/birds.html +++ b/docs/doc/birds.html @@ -84,10 +84,11 @@ F G H Phoenix S' -~Bald Eagle +Golden Eagle Ê-like: labcde.a(bde)(cde) +

The name "Golden Eagle" is a fever dream of bird enthusiast Conor Hoekstra, who saw it emerge from the Bald Eagle when arguments fg are set equal to de.

Lambda calculus doesn't have BQN's polymorphism on one or two arguments, so each BQN combinator corresponds to two lambda calculus forms depending on the number of arguments, giving the two columns of birds above.

Inputs are mapped to lambda calculus arguments according to the ordering 𝔽𝔾𝕨𝕩, and GFH for a 3-train F G H. For example, when I write that the combination 𝕨 𝔽˜ 𝕩 corresponds to a call of C or labc.acb, a is 𝔽 and bc are 𝕨𝕩.

-- cgit v1.2.3