On 2018-07-31 09:36, INADA Naoki wrote:
I want to see PoC of direct C calling.
To be honest, there is no implementation plan for this yet. I know that several people want this feature, so it makes sense to think about it.
For me personally, the main open problem is how to deal with arguments which may be passed both as Python object or as native C type. For example, when doing a function call like f(1,2,3), it may happen that the first argument is really a Python object (so it should be passed as Python int) but that the other two arguments are C integers.
And I think PoC can be implemented without waiting PEP 580.
For one particular class (say CyFunction), yes. But this feature would be particularly useful for calling between different kinds of C code, for example between Numba and CPython built-ins, or between Pythran and Cython, ...
That is why I think it should be implemented as an extension of PEP 580.
Anyway, this is a different subject that we should not mix in the discussion about PEP 580 (that is also why I am replying to this specific point separately).