module Data.Function.Flippers
(
rotate1,
rotate2,
rotate3,
rotate4,
rotate5,
rotate6,
rotate7,
rotate8,
rotate9,
flip1,
flip2,
flip3,
flip4,
flip5,
flip6,
flip7,
flip8,
flip9,
) where
rotate1 :: (a -> b) -> (a -> b)
rotate1 = id
flip1 :: (a -> b) -> (a -> b)
flip1 = id
rotate2 :: (a -> b -> c) -> (b -> a -> c)
rotate2 = flip
flip2 :: (a -> b -> c) -> (b -> a -> c)
flip2 = flip
rotate3 :: (a -> b -> c -> d) -> (c -> a -> b -> d)
rotate3 = flip . (flip .)
flip3 :: (a -> b -> c -> d) -> (c -> b -> a -> d)
flip3 = rotate3 . flip2
rotate4 :: (a -> b -> c -> d -> e) -> (d -> a -> b -> c -> e)
rotate4 = flip . (rotate3 .)
flip4 :: (a -> b -> c -> d -> e) -> (d -> c -> b -> a -> e)
flip4 = rotate4 . flip3
rotate5 :: (a -> b -> c -> d -> e -> f) -> (e -> a -> b -> c -> d -> f)
rotate5 = flip . (rotate4 .)
flip5 :: (a -> b -> c -> d -> e -> f) -> (e -> d -> c -> b -> a -> f)
flip5 = rotate5 . flip4
rotate6 :: (a -> b -> c -> d -> e -> f -> g) ->
(f -> a -> b -> c -> d -> e -> g)
rotate6 = flip . (rotate5 .)
flip6 :: (a -> b -> c -> d -> e -> f -> g) ->
(f -> e -> d -> c -> b -> a -> g)
flip6 = rotate6 . flip5
rotate7 :: (a -> b -> c -> d -> e -> f -> g -> h) ->
(g -> a -> b -> c -> d -> e -> f -> h)
rotate7 = flip . (rotate6 .)
flip7 :: (a -> b -> c -> d -> e -> f -> g -> h) ->
(g -> f -> e -> d -> c -> b -> a -> h)
flip7 = rotate7 . flip6
rotate8 :: (a -> b -> c -> d -> e -> f -> g -> h -> i) ->
(h -> a -> b -> c -> d -> e -> f -> g -> i)
rotate8 = flip . (rotate7 .)
flip8 :: (a -> b -> c -> d -> e -> f -> g -> h -> i) ->
(h -> g -> f -> e -> d -> c -> b -> a -> i)
flip8 = rotate8 . flip7
rotate9 :: (a -> b -> c -> d -> e -> f -> g -> h -> i -> j) ->
(i -> a -> b -> c -> d -> e -> f -> g -> h -> j)
rotate9 = flip . (rotate8 .)
flip9 :: (a -> b -> c -> d -> e -> f -> g -> h -> i -> j) ->
(i -> h -> g -> f -> e -> d -> c -> b -> a -> j)
flip9 = rotate9 . flip8