Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-19 Thread Nick Coghlan
On Tue, Apr 19, 2011 at 3:06 PM, Stefan Behnel stefan...@behnel.de wrote: I think this social problem of the PEP can only be solved if the CPython project stops doing the major share of the stdlib maintenance, thus freeing its own developer capacities to focus on CPython related improvements

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-19 Thread Stefan Behnel
Nick Coghlan, 19.04.2011 10:57: On Tue, Apr 19, 2011 at 3:06 PM, Stefan Behnel wrote: I think this social problem of the PEP can only be solved if the CPython project stops doing the major share of the stdlib maintenance, thus freeing its own developer capacities to focus on CPython related

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-19 Thread Jesse Noller
On Tue, Apr 19, 2011 at 1:06 AM, Stefan Behnel stefan...@behnel.de wrote: [snip] This PEP has received a lengthy discussion by now, so here's why I think it's being fought so heavily by several CPython core developers, specifically those who have traditionally carried a large part of the

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-19 Thread Maciej Fijalkowski
On Tue, Apr 19, 2011 at 10:57 AM, Nick Coghlan ncogh...@gmail.com wrote: On Tue, Apr 19, 2011 at 3:06 PM, Stefan Behnel stefan...@behnel.de wrote: I think this social problem of the PEP can only be solved if the CPython project stops doing the major share of the stdlib maintenance, thus freeing

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-19 Thread Jesse Noller
On Tue, Apr 19, 2011 at 8:17 AM, Maciej Fijalkowski fij...@gmail.com wrote: On Tue, Apr 19, 2011 at 10:57 AM, Nick Coghlan ncogh...@gmail.com wrote: On Tue, Apr 19, 2011 at 3:06 PM, Stefan Behnel stefan...@behnel.de wrote: I think this social problem of the PEP can only be solved if the CPython

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-19 Thread Maciej Fijalkowski
On Tue, Apr 19, 2011 at 12:01 PM, Stefan Behnel stefan...@behnel.de wrote: Nick Coghlan, 19.04.2011 10:57: On Tue, Apr 19, 2011 at 3:06 PM, Stefan Behnel wrote: I think this social problem of the PEP can only be solved if the CPython project stops doing the major share of the stdlib

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-19 Thread Maciej Fijalkowski
Once this move is made/accepted, I would expect the other implementation to rapidly move away from their custom implementations of the stdlib and contribute to the shared code base and documentation. Yes, this places a burden on CPython, but in the long term in benefits *all* of the projects

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-19 Thread R. David Murray
On Tue, 19 Apr 2011 07:06:09 +0200, Stefan Behnel stefan...@behnel.de wrote: That's what makes the PEP feel so unfair to CPython developers, because they are the ones who carry most of the burden of maintaining the stdlib in the first place, and who will most likely continue to carry it,

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-19 Thread Antoine Pitrou
On Tue, 19 Apr 2011 10:37:41 -0400 R. David Murray rdmur...@bitdance.com wrote: On Tue, 19 Apr 2011 07:06:09 +0200, Stefan Behnel stefan...@behnel.de wrote: That's what makes the PEP feel so unfair to CPython developers, because they are the ones who carry most of the burden of maintaining

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-19 Thread R. David Murray
On Tue, 19 Apr 2011 12:01:44 +0200, Stefan Behnel stefan...@behnel.de wrote: A related question is: when other Python VM projects try to port a given C module, would they actually invest the time to write a pure Python version that may or may not run within acceptable performance bounds for

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-19 Thread R. David Murray
On Tue, 19 Apr 2011 14:29:24 +0200, Maciej Fijalkowski fij...@gmail.com wrote: Once this move is made/accepted, I would expect the other implementation to rapidly move away from their custom implementations of the stdlib and contribute to the shared code base and documentation. Yes, this

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread Maciej Fijalkowski
On Sun, Apr 17, 2011 at 4:19 AM, Raymond Hettinger raymond.hettin...@gmail.com wrote: On Apr 16, 2011, at 2:45 PM, Brett Cannon wrote: On Sat, Apr 16, 2011 at 14:23, Stefan Krah ste...@bytereef.org wrote: Brett Cannon br...@python.org wrote: In the grand python-dev tradition of silence

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread Paul Moore
On 18 April 2011 08:05, Maciej Fijalkowski fij...@gmail.com wrote: On Sun, Apr 17, 2011 at 4:19 AM, Raymond Hettinger raymond.hettin...@gmail.com wrote: Almost none of the concerns that have been raised has been addressed.  Does the PEP only apply to purely algorithmic modules such as heapq

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread Antoine Pitrou
On Mon, 18 Apr 2011 09:36:20 +0100 Paul Moore p.f.mo...@gmail.com wrote: On 18 April 2011 08:05, Maciej Fijalkowski fij...@gmail.com wrote: On Sun, Apr 17, 2011 at 4:19 AM, Raymond Hettinger raymond.hettin...@gmail.com wrote: Almost none of the concerns that have been raised has been

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread R. David Murray
On Mon, 18 Apr 2011 09:36:20 +0100, Paul Moore p.f.mo...@gmail.com wrote: On 18 April 2011 08:05, Maciej Fijalkowski fij...@gmail.com wrote: On Sun, Apr 17, 2011 at 4:19 AM, Raymond Hettinger raymond.hettin...@gmail.com wrote: The PEP seems to be predicated on a notion that anything

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread Éric Araujo
Hi, We try very hard to optimize for usual python idioms. They're very often much better than specific cpython hacks. Unless you mean things like rebiding a global into default a pythonic idiom. We had to rewrite places in standard library which are precisely not very pythonic. If I

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread Éric Araujo
Hi, Perhaps we need a @python_implementation_detail skip decorator? That’s called test.support.cpython_only (see also test.support.check_impl_detail). You’re welcome. Regards ___ Python-Dev mailing list Python-Dev@python.org

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread Raymond Hettinger
On Apr 18, 2011, at 10:11 AM, Maciej Fijalkowski wrote: * we usually target CPython version that's already frozen, which is pretty inconvinient to post this changes back. Example would be a socket module where it has changed enough in 3.x that 2.7 changes make no sense. Do you have any

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread R. David Murray
On Mon, 18 Apr 2011 18:34:06 +0200, =?UTF-8?Q?=C3=89ric_Araujo?= mer...@netwok.org wrote: Perhaps we need a @python_implementation_detail skip decorator? That’s called test.support.cpython_only (see also test.support.check_impl_detail). You’re welcome. Nope. That's not what I was

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread Stefan Behnel
Maciej Fijalkowski, 18.04.2011 19:11: On Mon, Apr 18, 2011 at 6:32 PM, Éric Araujo wrote: We try very hard to optimize for usual python idioms. They're very often much better than specific cpython hacks. Unless you mean things like rebiding a global into default a pythonic idiom. We had to

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread Stefan Behnel
Raymond Hettinger, 18.04.2011 19:26: On Apr 18, 2011, at 10:11 AM, Maciej Fijalkowski wrote: * we usually target CPython version that's already frozen, which is pretty inconvinient to post this changes back. Example would be a socket module where it has changed enough in 3.x that 2.7 changes

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread Stefan Behnel
R. David Murray, 18.04.2011 14:30: On Mon, 18 Apr 2011 09:36:20 +0100, Paul Moore wrote: On 18 April 2011 08:05, Maciej Fijalkowski wrote: On Sun, Apr 17, 2011 at 4:19 AM, Raymond Hettinger wrote: The PEP seems to be predicated on a notion that anything written in C is bad and that all

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread Brett Cannon
I just want to say upfront that my personal life has just gotten very hectic as of late (green card stuff for my wife who is Canadian) and probably will not let up until June. So if I go a while without replying to points being made for quite a while, I apologize. Luckily there seem to be others

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-18 Thread Stefan Behnel
Brett Cannon, 05.04.2011 01:46: At both the VM and language summits at PyCon this year, the issue of compatibility of the stdlib amongst the various VMs came up. Two issues came about in regards to modules that use C code. One is that code that comes in only as C code sucks for all other VMs

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-17 Thread Terry Reedy
On 4/17/2011 1:32 AM, R. David Murray wrote: As Brett said, people do come to depend on the details of the implementation. But IMO the PEP should be clarified to say that the tests we are talking about should be tests *of the published API*. That is, blackbox tests, not whitebox tests. I

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-17 Thread Raymond Hettinger
In the grand python-dev tradition of silence means acceptance, I consider this PEP finalized and implicitly accepted. I haven't seen any responses that said, yes this is a well thought-out proposal that will actually benefit any of the various implementations. In that case it may well

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-17 Thread Antoine Pitrou
On Sun, 17 Apr 2011 01:32:15 -0400 R. David Murray rdmur...@bitdance.com wrote: I personally have no problem with the 100% coverage being made a recommendation in the PEP rather than a requirement. It sounds like that might be acceptable to Antoine. Actually, I would also be fine with

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-17 Thread Paul Moore
On 17 April 2011 06:32, R. David Murray rdmur...@bitdance.com wrote: I don't think the PEP is asking this either (or if it is I agree it shouldn't be).  The way to get full branch coverage (and yes Exarkun is right, this is about individual branches; see coverage.py --branch) One thing I'm

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-17 Thread R. David Murray
On Sun, 17 Apr 2011 00:30:22 -0700, Raymond Hettinger raymond.hettin...@gmail.com wrote: In the grand python-dev tradition of silence means acceptance, I consider this PEP finalized and implicitly accepted. I haven't seen any responses that said, yes this is a well thought-out

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-16 Thread Brett Cannon
In the grand python-dev tradition of silence means acceptance, I consider this PEP finalized and implicitly accepted. On Tue, Apr 12, 2011 at 15:07, Brett Cannon br...@python.org wrote: Here is the next draft of the PEP. I changed the semantics requirement to state that 100% branch coverage is

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-16 Thread Stefan Krah
Brett Cannon br...@python.org wrote: In the grand python-dev tradition of silence means acceptance, I consider this PEP finalized and implicitly accepted. I did not really see an answer to these concerns: http://mail.python.org/pipermail/python-dev/2011-April/110672.html

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-16 Thread Brett Cannon
On Sat, Apr 16, 2011 at 14:23, Stefan Krah ste...@bytereef.org wrote: Brett Cannon br...@python.org wrote: In the grand python-dev tradition of silence means acceptance, I consider this PEP finalized and implicitly accepted. I did not really see an answer to these concerns:

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-16 Thread Antoine Pitrou
On Sat, 16 Apr 2011 14:45:52 -0700 Brett Cannon br...@python.org wrote: On Sat, Apr 16, 2011 at 14:23, Stefan Krah ste...@bytereef.org wrote: Brett Cannon br...@python.org wrote: In the grand python-dev tradition of silence means acceptance, I consider this PEP finalized and

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-16 Thread Eric Snow
On Sat, Apr 16, 2011 at 3:54 PM, Antoine Pitrou solip...@pitrou.net wrote: Hmm, what's the difference between the Python stdlib and CPython's stdlib? I'm also not sure how you would enforce that anyway. If it means using ctypes to interface with system C libraries, I'm -10 on it :) Sounds

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-16 Thread Raymond Hettinger
On Apr 16, 2011, at 2:45 PM, Brett Cannon wrote: On Sat, Apr 16, 2011 at 14:23, Stefan Krah ste...@bytereef.org wrote: Brett Cannon br...@python.org wrote: In the grand python-dev tradition of silence means acceptance, I consider this PEP finalized and implicitly accepted. I haven't

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-16 Thread exarkun
On 16 Apr, 11:03 pm, st...@pearwood.info wrote: Brett Cannon wrote: In the grand python-dev tradition of silence means acceptance, I consider this PEP finalized and implicitly accepted. How long does that silence have to last? I didn't notice a definition of what counts as 100% branch

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-16 Thread R. David Murray
On Sat, 16 Apr 2011 19:19:32 -0700, Raymond Hettinger raymond.hettin...@gmail.com wrote: On Apr 16, 2011, at 2:45 PM, Brett Cannon wrote: On Sat, Apr 16, 2011 at 14:23, Stefan Krah ste...@bytereef.org wrote: Brett Cannon br...@python.org wrote: In the grand python-dev tradition of

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-12 Thread Brett Cannon
Here is the next draft of the PEP. I changed the semantics requirement to state that 100% branch coverage is required for any Python code that is being replaced by accelerated C code instead of the broad must be semantically equivalent. Also tweaked wording here and there to make certain things

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-07 Thread Nick Coghlan
On Thu, Apr 7, 2011 at 3:15 PM, Stefan Behnel stefan...@behnel.de wrote: Assuming there always is an equivalent Python implementation anyway, what about using that as a fallback for input types that the C implementation cannot deal with? Or would it be a larger surprise for users if the code

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Antoine Pitrou
On Tue, 5 Apr 2011 12:57:13 -0700 Raymond Hettinger raymond.hettin...@gmail.com wrote: * I would like to see a restriction on the use of the concrete C API such that it is *only* used when a exact type match has been found or created (i.e. if someone writes Py_ListNew(), then it is

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Nick Coghlan
On Wed, Apr 6, 2011 at 5:57 AM, Raymond Hettinger raymond.hettin...@gmail.com wrote: [Brett] This PEP requires that in these instances that both the Python and C code must be semantically identical Are you talking about the guaranteed semantics promised by the docs or are you talking about

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Nick Coghlan
On Wed, Apr 6, 2011 at 11:59 PM, Antoine Pitrou solip...@pitrou.net wrote: On Tue, 5 Apr 2011 12:57:13 -0700 Raymond Hettinger raymond.hettin...@gmail.com wrote: * I would like to see a restriction on the use of   the concrete C API such that it is *only* used   when a exact type match has

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Michael Foord
On 05/04/2011 20:57, Raymond Hettinger wrote: [snip...] [Brett] (sorry, Raymond, for picking on heapq, but is was what bit the PyPy people most recently =). No worries, it wasn't even my code. Someone donated it. The was a discusion on python-dev and collective agreement to allow it to have

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Antoine Pitrou
On Wed, 06 Apr 2011 15:17:05 +0100 Michael Foord fuzzy...@voidspace.org.uk wrote: On 05/04/2011 20:57, Raymond Hettinger wrote: [snip...] [Brett] (sorry, Raymond, for picking on heapq, but is was what bit the PyPy people most recently =). No worries, it wasn't even my code. Someone

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Nick Coghlan
On Thu, Apr 7, 2011 at 1:03 AM, James Y Knight f...@fuhm.net wrote: Perhaps the argument handling for C functions ought to be enhanced to work like python's argument handling, instead of trying to hack it the other way around? Oh, definitely. It is just that you pretty much have to use the

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread James Y Knight
On Apr 6, 2011, at 10:08 AM, Nick Coghlan wrote: On Wed, Apr 6, 2011 at 5:57 AM, Raymond Hettinger raymond.hettin...@gmail.com wrote: [Brett] This PEP requires that in these instances that both the Python and C code must be semantically identical Are you talking about the guaranteed

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Maciej Fijalkowski
No worries, it wasn't even my code.  Someone donated it.  The was a discusion on python-dev and collective agreement to allow it to have semantic differences that would let it run faster. IIRC, the final call was made by Uncle Timmy. The bug link is here: http://bugs.python.org/issue3051

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Brett Cannon
On Tue, Apr 5, 2011 at 12:57, Raymond Hettinger raymond.hettin...@gmail.com wrote: [Brett] This PEP requires that in these instances that both the Python and C code must be semantically identical Are you talking about the guaranteed semantics promised by the docs or are you talking about

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Brett Cannon
On Tue, Apr 5, 2011 at 05:01, Nick Coghlan ncogh...@gmail.com wrote: On Tue, Apr 5, 2011 at 9:46 AM, Brett Cannon br...@python.org wrote: try: c_heapq.heappop(Spam()) except TypeError: # heap argument must be a list pass try:

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Raymond Hettinger
On Apr 6, 2011, at 10:24 AM, Maciej Fijalkowski wrote: I saw no need to complicate the pure python code for this. if you complicate the C code for this, then please as well complicate python code for this since it's breaking stuff. Do you really need a PEP for this one extraordinary and

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Terry Reedy
On 4/6/2011 1:24 PM, Maciej Fijalkowski wrote: No worries, it wasn't even my code. Someone donated it. The was a discusion on python-dev and collective agreement to allow it to have semantic differences that would let it run faster. IIRC, the final call was made by Uncle Timmy. ... And, for

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Stefan Krah
Brett Cannon br...@python.org wrote: * We also suffer from inconsistency in choice of  exceptions (i.e. overly large sequence indices  raising either an IndexError, OverflowError, or  ValueError). Once again, a general issue in our C code and not special to this PEP. Not

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Raymond Hettinger
On Apr 6, 2011, at 10:39 AM, Brett Cannon wrote: Since people are taking my semantically identical point too strongly for what I mean (there is a reason I said except in cases where implementation details of a VM prevents [semantic equivalency] entirely), how about we change the requirement

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Brett Cannon
On Wed, Apr 6, 2011 at 12:45, Raymond Hettinger raymond.hettin...@gmail.com wrote: On Apr 6, 2011, at 10:39 AM, Brett Cannon wrote: Since people are taking my semantically identical point too strongly for what I mean (there is a reason I said except in cases where implementation details

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Stefan Behnel
James Y Knight, 06.04.2011 17:03: On Apr 6, 2011, at 10:08 AM, Nick Coghlan wrote: Argument handling is certainly a tricky one - getting positional only arguments requires a bit of a hack in pure Python code (accepting *args and unpacking the arguments manually), but it comes reasonably

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Antoine Pitrou
On Wed, 6 Apr 2011 13:22:09 -0700 Brett Cannon br...@python.org wrote: On Wed, Apr 6, 2011 at 12:45, Raymond Hettinger raymond.hettin...@gmail.com wrote: On Apr 6, 2011, at 10:39 AM, Brett Cannon wrote: Since people are taking my semantically identical point too strongly for what I

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread skip
Brett How about the test suite needs to have 100% test coverage (or as Brett close as possible) on the pure Python version? Works for me, but you will have to define what 100% is fairly clearly. 100% of the lines get executed? All the branches are taken? Under what circumstances might

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Raymond Hettinger
On Apr 6, 2011, at 1:22 PM, Brett Cannon wrote: On Wed, Apr 6, 2011 at 12:45, Raymond Hettinger raymond.hettin...@gmail.com wrote: On Apr 6, 2011, at 10:39 AM, Brett Cannon wrote: Since people are taking my semantically identical point too strongly for what I mean (there is a

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Raymond Hettinger
On Apr 6, 2011, at 1:22 PM, Brett Cannon wrote: How about the test suite needs to have 100% test coverage (or as close as possible) on the pure Python version? That will guarantee that the C code which passes that level of test detail is as semantically equivalent as possible. It also

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Nick Coghlan
On Thu, Apr 7, 2011 at 6:22 AM, Brett Cannon br...@python.org wrote: How about the test suite needs to have 100% test coverage (or as close as possible) on the pure Python version? That will guarantee that the C code which passes that level of test detail is as semantically equivalent as

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 04/06/2011 04:37 PM, Antoine Pitrou wrote: On Wed, 6 Apr 2011 13:22:09 -0700 Brett Cannon br...@python.org wrote: On Wed, Apr 6, 2011 at 12:45, Raymond Hettinger raymond.hettin...@gmail.com wrote: On Apr 6, 2011, at 10:39 AM, Brett Cannon

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread R. David Murray
On Wed, 06 Apr 2011 18:05:57 -0400, Tres Seaver tsea...@palladion.com wrote: On 04/06/2011 04:37 PM, Antoine Pitrou wrote: On Wed, 6 Apr 2011 13:22:09 -0700 Brett Cannon br...@python.org wrote: How about the test suite needs to have 100% test coverage (or as close as possible) on the pure

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread James Y Knight
On Apr 6, 2011, at 4:44 PM, s...@pobox.com wrote: Brett How about the test suite needs to have 100% test coverage (or as Brett close as possible) on the pure Python version? Works for me, but you will have to define what 100% is fairly clearly. 100% of the lines get executed? All

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Terry Reedy
On 4/6/2011 2:54 PM, Terry Reedy wrote: I believe that at the time of that decision, the Python [heapq] code was only intended for humans, like the Python (near) equivalents in the itertools docs to C-coded itertool functions. Now that we are aiming to have stdlib Python code be a reference

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-06 Thread Stefan Behnel
Brett Cannon, 06.04.2011 19:40: On Tue, Apr 5, 2011 at 05:01, Nick Coghlan wrote: However, there actually *is* a significant semantic discrepancy in the heapq case, which is that py_heapq is duck-typed, while c_heapq is not: TypeError: heap argument must be a list That's true. I will re-word

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-05 Thread Stefan Behnel
Brett Cannon, 05.04.2011 01:46: At both the VM and language summits at PyCon this year, the issue of compatibility of the stdlib amongst the various VMs came up. Two issues came about in regards to modules that use C code. One is that code that comes in only as C code sucks for all other VMs

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-05 Thread Nick Coghlan
On Tue, Apr 5, 2011 at 9:46 AM, Brett Cannon br...@python.org wrote:     try:     c_heapq.heappop(Spam())     except TypeError:     # heap argument must be a list     pass     try:     py_heapq.heappop(Spam())     except AttributeError:     # 'Foo' object has no

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-05 Thread Brett Cannon
On Tue, Apr 5, 2011 at 01:26, Stefan Behnel stefan...@behnel.de wrote: Brett Cannon, 05.04.2011 01:46: At both the VM and language summits at PyCon this year, the issue of compatibility of the stdlib amongst the various VMs came up. Two issues came about in regards to modules that use C

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-05 Thread Brett Cannon
On Tue, Apr 5, 2011 at 05:01, Nick Coghlan ncogh...@gmail.com wrote: On Tue, Apr 5, 2011 at 9:46 AM, Brett Cannon br...@python.org wrote: try: c_heapq.heappop(Spam()) except TypeError: # heap argument must be a list pass try:

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-05 Thread Raymond Hettinger
[Brett] This PEP requires that in these instances that both the Python and C code must be semantically identical Are you talking about the guaranteed semantics promised by the docs or are you talking about every possible implementation detail? ISTM that even with pure python code, we get

Re: [Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-05 Thread Terry Reedy
On 4/5/2011 3:57 PM, Raymond Hettinger wrote: [Brett] This PEP requires that in these instances that both the Python and C code must be semantically identical Are you talking about the guaranteed semantics promised by the docs or are you talking about every possible implementation detail? I

[Python-Dev] PEP 399: Pure Python/C Accelerator Module Compatibiilty Requirements

2011-04-04 Thread Brett Cannon
At both the VM and language summits at PyCon this year, the issue of compatibility of the stdlib amongst the various VMs came up. Two issues came about in regards to modules that use C code. One is that code that comes in only as C code sucks for all other VMs that are not CPython since they all