On Tue, Jul 31, 2018 at 6:14 PM Jeroen Demeyer <j.deme...@ugent.be> wrote: > > On 2018-07-31 09:36, INADA Naoki wrote: > > I think PEP 580 is understandable only for people who tried to implement > > method objects. > > Is this really a problem? Do we expect that all Python developers can > understand all PEPs, especially on a technical subject like this? > > To give a different example, I would say that PEP 567 is also quite > technical and not understandable by people who don't care about about > context variables. >
Please don't "straw man" discussion! I said "So PEP 576/580 are needed only when implementing callable object". I showed example "functools.partial or functools.lru_cache". Using FASTCALL for callable object, instead of tp_call is one of important goal of PEP 576 and 580. So, cleary, ordinal extension author should be able to understand and implement PEP 576 and 580. > If PEP 580 is accepted, we can make it very clear in the documentation > that this is only meant for implementing fast function/method classes > and that ordinary "extension writers" can safely skip that part. For > example, you write > > > They should learn PyCCallDef and CCALL_* flags in addition > > to PyMethodDef and METH_*. > > but that's not true: they can easily NOT learn those flags, just like > they do NOT need to learn about context variables if they don't need them. > Surely, they should understand they must use CCALL_* flags instead of METH_* flags when implementing fast-callable object. > >> I would like to stress that PEP 580 was designed for maximum > >> performance, both today and for future extensions (such as calling with > >> native C types). > >> > > I don't know what the word *stress* mean here. (Sorry, I'm not good at > > English > > enough for such hard discussion). > > But I want to see PoC of real benefit of PEP 580, as I said above. > > "to stress" = to draw attention to, to make it clear that > OK, I'm very drawn attention to that already. > > Hm, My point was providing easy and simple way to support FASTCALL > > in callable object like functools.partial or functools.lru_cache. > > That can be done easily with only PEP 580. > After spent several days to read PEP 580 and your implementation, I think I can implement it. I think it's not easy, but it's not impossible too. But I think we should admit the fact it's complicated than PEP 576. Although I don't think it's important than some benefits of PEP 580. NOTE that I didn't say it's a big problem. I just explained because you said "Can you be more concrete what you find complicated?" -- INADA Naoki <songofaca...@gmail.com> _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com