Created
February 3, 2022 11:43
-
-
Save adam-nathan/0256e9ffa9c96bf59b8c8d9b04bf1826 to your computer and use it in GitHub Desktop.
Combinator birds in Haskell
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bluebird = s (k s) k | |
blackbird = bluebird bluebird bluebird | |
bunting = bluebird blackbird bluebird | |
becard = bluebird dove bluebird | |
cardinal = starling (dove starling) (kestrel kestrel) | |
dove = bluebird bluebird | |
dickcissel = bluebird dove | |
dovekies = dove dove | |
eagle = bluebird blackbird | |
baldeagle = eagle eagle | |
finch = cardinal vireo | |
goldfinch = dove cardinal | |
hummingbird = starling robin | |
idiot a = a | |
jay = cardinalstarstar (hummingbird eagle) | |
kestrel = k | |
-- lark a' b' = a' (b' b') | |
-- mockingbird a = a a | |
-- mockingbird' a b = a b (a b) | |
owl = b w (c b) | |
queer = cardinal bluebird | |
quixotic = bluebird cardinal bluebird | |
quizzical = cardinal quixotic | |
quirky = bluebird thrush | |
quacky = bluebird quirky thrush | |
robin = cardinal cardinal | |
starling = s | |
phoenix = blackbird starling bluebird | |
psi = bluebird hummingbird dovekies | |
thrush = cardinal idiot | |
-- turing a b = b (a a b) | |
vireo = bluebird cardinal thrush | |
warbler = starling starling (starling kestrel) | |
conversewarbler = cardinal warbler | |
-- Why Bird (aka Sage Bird)=la.a(la) | |
idiotstar = bluebird idiot | |
warblerstar = bluebird warbler | |
cardinalstar = bluebird cardinal | |
robinstar = cardinalstar cardinalstar | |
finchstar = bluebird robinstar cardinal | |
vireostar = cardinalstar finchstar | |
vireostarstar = bluebird vireostar | |
idiotstarstar = bluebird idiotstar | |
warblerstarstar = bluebird warblerstar | |
cardinalstarstar = bluebird cardinalstar | |
robinstarstar = bluebird robinstar | |
finchstarstar = bluebird finchstar | |
kite = kestrel idiot | |
-- Omega=l | |
-- Konstant Mocker=lab.bb | |
-- Crossed Konstant Mocker=lab.aa | |
-- Theta=l |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment