Skip to content

Instantly share code, notes, and snippets.

@adam-nathan
Created February 3, 2022 11:43
Show Gist options
  • Save adam-nathan/0256e9ffa9c96bf59b8c8d9b04bf1826 to your computer and use it in GitHub Desktop.
Save adam-nathan/0256e9ffa9c96bf59b8c8d9b04bf1826 to your computer and use it in GitHub Desktop.
Combinator birds in Haskell
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