universum-0.7.0: Custom prelude used in Serokell

Safe HaskellSafe
LanguageHaskell2010

VarArg

Description

Provides operator of variable-arguments function composition.

Documentation

class SuperComposition a b c | a b -> c where Source #

Minimal complete definition

(...)

Methods

(...) :: a -> b -> c infixl 8 Source #

Allows to apply function to result of another function with multiple arguments.

>>> (show ... (+)) 1 2
"3"
>>> show ... 5
"5"
>>> (null ... zip5) [1] [2] [3] [] [5]
True

Inspired by http://stackoverflow.com/questions/9656797/variadic-compose-function.

Instances

((~) * a c, (~) * r b) => SuperComposition (a -> b) c r Source # 

Methods

(...) :: (a -> b) -> c -> r Source #

(SuperComposition (a -> b) d r1, (~) * r (c -> r1)) => SuperComposition (a -> b) (c -> d) r Source # 

Methods

(...) :: (a -> b) -> (c -> d) -> r Source #