<?php
function curry(){
$args = func_get_args();
$f = $args[0];
unset($args[0]);
/* print( */
return create_function('',
"\$a = func_get_args(); return call_user_func_array('$f', ".
/* Засунуть сюда $args из curry(), чтобы функция внутри строки поняла его адекватно? Авотуй! */
"\$a);");
}
print_r(call_user_func(curry('array_map', 'log'), array(2, 3, 5, 7)));
?>