module Data.Aviary.Birds
(
idiot
, kestrel
, bluebird
, cardinal
, applicator
, psi
, becard
, blackbird
, bluebird'
, bunting
, cardinal'
, cardinalstar
, cardinalstarstar
, dove
, dickcissel
, dovekie
, eagle
, eaglebald
, finch
, finchstar
, finchstarstar
, goldfinch
, hummingbird
, idstar
, idstarstar
, jalt
, jalt'
, jay
, kite
, owl
, phoenix
, quacky
, queer
, quirky
, quixotic
, quizzical
, robin
, robinstar
, robinstarstar
, starling
, starling'
, thrush
, vireo
, vireostar
, vireostarstar
, warbler
, warbler1
, warblerstar
, warblerstarstar
) where
import Data.Function
idiot :: a -> a
idiot = id
kestrel :: a -> b -> a
kestrel = const
bluebird :: (b -> c) -> (a -> b) -> a -> c
bluebird = (.)
cardinal :: (a -> b -> c) -> b -> a -> c
cardinal = flip
applicator :: (a -> b) -> a -> b
applicator = ($)
psi :: (b -> b -> c) -> (a -> b) -> a -> a -> c
psi = on
becard :: (c -> d) -> (b -> c) -> (a -> b) -> a -> d
becard f g h x = f (g (h x))
blackbird :: (c -> d) -> (a -> b -> c) -> a -> b -> d
blackbird f g x y = f (g x y)
bluebird' :: (a -> c -> d) -> a -> (b -> c) -> b -> d
bluebird' f x g y = f x (g y)
bunting :: (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
bunting f g x y z = f (g x y z)
cardinal' :: (c -> a -> d) -> (b -> c) -> a -> b -> d
cardinal' f g x y = f (g y) x
cardinalstar :: (a -> c -> b -> d) -> a -> b -> c -> d
cardinalstar f x y z = f x z y
cardinalstarstar :: (a -> b -> d -> c -> e) -> a -> b -> c -> d -> e
cardinalstarstar f s t u v = f s t v u
dickcissel :: (a -> b -> d -> e) -> a -> b -> (c -> d) -> c -> e
dickcissel f x y g z = f x y (g z)
dove :: (a -> c -> d) -> a -> (b -> c) -> b -> d
dove f x g y = f x (g y)
dovekie :: (c -> d -> e) -> (a -> c) -> a -> (b -> d) -> b -> e
dovekie f g x h z = f (g x) (h z)
eagle :: (a -> d -> e) -> a -> (b -> c -> d) -> b -> c -> e
eagle f x g y z = f x (g y z)
eaglebald :: (e -> f -> g)
-> (a -> b -> e)
-> a -> b
-> (c -> d -> f)
-> c -> d -> g
eaglebald f g s t h u v = f (g s t) (h u v)
finch :: a -> b -> (b -> a -> c) -> c
finch x y f = f y x
finchstar :: (c -> b -> a -> d) -> a -> b -> c -> d
finchstar f x y z = f z y x
finchstarstar :: (a -> d -> c -> b -> e) -> a -> b -> c -> d -> e
finchstarstar f s t u v = f s v u t
goldfinch :: (b -> c -> d) -> (a -> c) -> a -> b -> d
goldfinch f g x y = f y (g x)
hummingbird :: (a -> b -> a -> c) -> a -> b -> c
hummingbird f x y = f x y x
idstar :: (a -> b) -> a -> b
idstar f x = f x
idstarstar :: (a -> b -> c) -> a -> b -> c
idstarstar f x y = f x y
jalt :: (a -> c) -> a -> b -> c
jalt f x _y = f x
jalt' :: (a -> b -> d) -> a -> b -> c -> d
jalt' f x y _z = f x y
jay :: (a -> b -> b) -> a -> b -> a -> b
jay f x y z = f x (f z y)
kite :: a -> b -> b
kite _x y = y
owl :: ((a -> b) -> a) -> (a -> b) -> b
owl x y = y (x y)
phoenix :: (b -> c -> d) -> (a -> b) -> (a -> c) -> a -> d
phoenix f g h x = f (g x) (h x)
quacky :: a -> (a -> b) -> (b -> c) -> c
quacky x f g = g (f x)
queer :: (a -> b) -> (b -> c) -> a -> c
queer f g x = g (f x)
quirky :: (a -> b) -> a -> (b -> c) -> c
quirky f x g = g (f x)
quixotic :: (b -> c) -> a -> (a -> b) -> c
quixotic f x g = f (g x)
quizzical :: a -> (b -> c) -> (a -> b) -> c
quizzical x f g = f (g x)
robin :: a -> (b -> a -> c) -> b -> c
robin x f y = f y x
robinstar :: (b -> c -> a -> d) -> a -> b -> c -> d
robinstar f x y z = f y z x
robinstarstar :: (a -> c -> d -> b -> e) -> a -> b -> c -> d -> e
robinstarstar f s t u v = f s u v t
starling :: (a -> b -> c) -> (a -> b) -> a -> c
starling f g x = f x (g x)
starling' :: (b -> c -> d) -> (a -> b) -> (a -> c) -> a -> d
starling' f g h x = f (g x) (h x)
thrush :: a -> (a -> b) -> b
thrush x f = f x
vireo :: a -> b -> (a -> b -> c) -> c
vireo x y f = f x y
vireostar :: (b -> a -> b -> d) -> a -> b -> b -> d
vireostar f x y z = f y x z
vireostarstar :: (a -> c -> b -> c -> e) -> a -> b -> c -> c -> e
vireostarstar f s t u v = f s v t u
warbler :: (a -> a -> b) -> a -> b
warbler f x = f x x
warbler1 :: a -> (a -> a -> b) -> b
warbler1 x f = f x x
warblerstar :: (a -> b -> b -> c) -> a -> b -> c
warblerstar f x y = f x y y
warblerstarstar :: (a -> b -> c -> c -> d) -> a -> b -> c -> d
warblerstarstar f x y z = f x y z z