Currently functions have two subtypes: normal ones (0) and builtin
functions (USHRT_MAX). What would be the implications of adding two
more?
I propose adding FUNCTION_GENERATOR and FUNCTION_GENSTATE to
differentiate continue functions, and the state functions that they
return; and also a Pike-callable Function.function_type which will
return the corresponding type. Thus:
continue int demo() { }
Function.function_type(demo) == 1
Function.function_type(demo()) == 2
Alternatively, if this doesn't need to be a subtype, is there a way to
recognize them already? I'm poking around, trying to implement this,
but I think more information needs to be carried through to runtime -
might be wrong though.
ChrisA