da-woods schrieb am 04.11.23 um 14:45:
I'm a bit late in replying to this but here are some unordered thoughts.

* I'm fairly relaxed about using `Py_BUILD_CORE` if useful - I think we mostly do have good fallback paths for most things so can adapt quickly when stuff changes.

I'm not entirely relaxed about it, but I agree that the fallbacks should usually make it easy to keep things working also after larger changes in CPython.


* CYTHON_USE_CPYTHON_CORE_DETAILS sounds reasonable, but it's yet another variation to test.

True.


* I wonder if fixing up the limited API implementation should be higher priority than creating a third level been "full" and "limited API".

I think there's potential for all three. Basically modes "aggressively fast", "highly compatible" and "version independent". The latter is what the Stable ABI together with the Limited API should give you.


* I recall we were planning to ditch c89 as a strict requirement after 3.0? Incompatibility with C++ might be more of an issue though.

Yes. C++ is not an issue for CPython, so their internal header files are not tested with C++ at all. That's the highest potential for breakage, if we accept to generate C99 from Cython 3.1 onwards.

We should make sure that we use "-std=c89" in at least one Cython 3.0 test setup, BTW.


* Even so, if there's a good way of turning it off then we could say: "if you want strict c89 support then you can't use CYTHON_USE_CPYTHON_CORE_DETAILS" and people would always have options.

That could be part of it, yes.


* Waiting and seeing may be a good option for now.

I agree. This still seems best for now, especially given the amount of recent changes in the C-API. Let's wait for those to settle down, at least.

Thanks everyone for your opinions and comments!

Stefan

_______________________________________________
cython-devel mailing list
cython-devel@python.org
https://mail.python.org/mailman/listinfo/cython-devel

Reply via email to