[pypy-dev] Removal of RCTypes, the extension compiler, support for PyObjects
Martijn Faassen
faassen at startifact.com
Tue Nov 20 18:17:07 CET 2007
Carl Friedrich Bolz wrote:
> Martijn Faassen wrote:
>> I'll just note what this might mean to you in terms of project
>> perception and perception of commitment:
>>
>> You're replacing one of the few areas of PyPy that at least *seemed* to
>> be useful in the near term for production use (even though it evidently
>> wasn't really) with "the extension compiler can be reimplemented with
>> rffi if someone is interested in doing that".
>>
>> I.e. you're removing your implicit commitment (in the form of code that
>> more or less worked) and replacing it with an explicit lack of
>> commitment or interest in making this work.
>
> I really thought we were through with that.
I said I wasn't objecting. I'm not objecting. I'm just pointing out what
it means to me. I'm also asking the next question: CPython extensions
are definitely off the table. so what's up with the Python interpreter?
I thought that a way to make cool Python bindings with RPython might be
a way to get PyPy to practical use. So I told people that they should
seriously consider putting some effort behind this feature (whatever
form it might take), as this seemed the closest to real-world use.
I asked a set of questions in june. Back then, I got two answers to my
questions. One from Maciek and one from Bea. Both said, we'll discuss
this at EuroPython.
At EuroPython I got the impression there was little interest in making
this work and that people wanted to work on making PyPy mature first. It
wasn't very clear, but that's my impression. Okay, the interpreter
first, that's my understanding.
As an aside, it's now after EuroPython, so I'll try answering these
questions myself now:
* what are the reasons this change is going to be made?
[some answers were given on another thread back then. Basically, the
current way is broken.]
* would this benefit just core PyPy or would it benefit extension module
writers too?
[Only core PyPy. If some work is done by volunteers, by extension module
writers too as the rewrite is cleaner]
* when do you expect the new way to be finalized?
[For the core PyPy stuff: in November 2007. The core PyPy thing is more
or less done now, I understand, being cleaned up now. For the extension
module compiler: this depends on other people, we are not going to do it]
* will you make a real commitment to make the "Test in CPython first"
feature work again? Or is did you just sketched out possible ways to
implement this in the new system and you hope some contributor is going
to do the work?
[I'm not sure about this one. Can you write a CTypes module and test it
in CPython before running it with PyPy, or not anymore?]
* will you make a commitment to make this new way useful and supported
for extension module writers, or should they invest their time in some
other technology? I.e. what are the changes a future shift will make me
change things again?
[We won't make any such commitment, and they should make an investment
in some other technology like CTypes or Pyrex or do it themselves with
PyPy with the knowledge the core team isn't very interested themselves]
* How well documented will this be for CPython extension developers?
Will you market this feature to developers? Things like this indicate
your commitment in another way. :)
[This question is irrelevant, as there is no commitment]
Are my answers correct? I understand that there's no commitment to make
it work, and that you'll just have this feature go away. It was broken
in the first place. That's fine - I have no objections, as I said. I'm
just telling you what it means for me.
> For these reasons removing this piece of code is not showing lack of
> commitment or lack of leadership or sending a wrong signal in my
> opinion. It is just getting rid of a failed implementation idea.
It's fine that you don't commit to this feature. I'd preferred better
communication, but that's not a major complaint. It was clear enough to
me already that this feature was in limbo.
What worries me is that I don't see any commitment to make *any* feature
work for production-use. Not the extension compiler, obviously. So that
brings me to the rest of the email: it leaves the other potential
practical feature that was discussed at EuroPython: the production
interpreter. People preferred focusing on that as it wasn't considered
to be that far off, and it was more central to the goal of the project
than an extension compiler for CPython.
So, please let me know whether you have a commitment to make a
production ready interpreter work.
Here are some questions that people might ask about the production
Python interpreter:
* Does the project have any commitment towards producing a
production-usable Python interpreter, for whatever value of
'production'? I.e. is the project interested in these questions at all,
or do they consider these questions beside the point?
* If the project does make a commitment, does the project commit to
release management to churn out new versions of the production
interpreter at a regular basis?
* If the project does make a commitment, when do you expect the
production PyPy interpreter to be ready for early adopters? When do you
think it will be solid enough to reach lots of people? Is there some
form of timeline?
* What platform will you focus on first? (JVM, .net, C, something else?)
* Will the production interpreter contain JIT technology? If not, when
is this expected?
If this is to be a research project with no concrete plans for a
production Python interpreter that's fine. I'll certainly stop bugging
you about these topics. If the plan is to start serious work on
Smalltalk or Ruby interpreters first before finishing the Python
interpreter, or if the plan is to work on all three at the same time,
forgive me when I adjust my expectations downwards for a Python
interpreter. I will wish you luck.
I hope that all this was already discussed and clear within the project,
and just not communicated widely yet. If so, please let us know the
answers. If it wasn't discussed yet, then please discuss this kind of
stuff at the sprint. It seems like a good opportunity. If you do aim to
finish the Python interpreter, I'd expect to see a list of concrete
goals and date estimates, and then please share it with us if you'd like?
I feel a bit like I'm asking crazy unrealistic impossible questions, but
I don't think I am? Wasn't the project supposed to come up with a plan
for these things in the post-EU phase?
All these questions are from an interested bystander who may want to
commit some time on this project (more than reading and writing emails)
in the next year if he does see some idea that the project is indeed
sharing some of his goals. I think there are more people like me you
could attract if you give us a bit of hope.
Regards,
Martijn
More information about the Pypy-dev
mailing list