Example #1
0
/**
 * map :: Functor f => (a -> b) -> f a -> f b
 *
 * @return mixed|\Closure
 *
 * @param callable $transformation
 * @param Functor $value
 */
function map(callable $transformation = null, Functor $value = null)
{
    return call_user_func_array(curryN(2, function (callable $transformation, Functor $value) {
        return $value->map($transformation);
    }), func_get_args());
}