I tried to use _typeof() to get the type of a function, but I found if a lambda function modified a var in the environ, the type "function" would be returned instead of "function(<arg type list>:<result type>)". for example:
# cat lambda.pike void t(function f) { write("%O\n",_typeof(f)); } void main() { int k; t(lambda(int ig){}); t(lambda(int ig){k++;}); } # pike lambda.pike function(int : zero) function
With second lambda function ,_typeof() just return "function", but for the first lambda it returned "function(int : zero)". The prototype of the two lambda function is SAME, then my question is "how can I get the prototype at runtime?"
pike-devel@lists.lysator.liu.se