PyPy: sprint and news

Discussion in 'Python' started by Armin Rigo, Oct 26, 2003.

  1. Armin Rigo

    Armin Rigo Guest

    PyPy Sprint announcement & news from the project

    We are coming close to a first experimental release of PyPy,
    a more flexible Python implementation written in Python.
    The sprint to make this happen will take place in Amsterdam,
    a city know to be reachable by cheap flights :)

    This is 1) the announcement for the sprint;
    2) news about the current state of PyPy;
    3) some words about a proposal we recently submitted
    to the European Union.

    Amsterdam Sprint Details

    The Sprint will take place from

    the 14th of December to the 21st of December at the

    "Vrije Universiteit in Amsterdam", 14th-21th Dec 2003.

    thanks to Etienne Posthumus, who helps us to organize the event. The
    main goal will be a complete C translation of PyPy, probably still using
    a hacked Pyrex-variant as an intermediate layer and using CPython's
    runtime. We also plan to work on some fun frontends to PyPy like one
    based on pygame or a web browser to visualize interactions between
    interpreter and objectspace.

    If you want to participate on the sprint, please subscribe here

    and list yourself on this wiki page

    where you will also find more information as the sprint date
    approaches. If you are just interested but don't know if you
    come then only subscribe to the mailing list.

    State of the PyPy project

    PyPy works pretty well but still on top of CPython. The double
    interpretation penalty makes it - as expected - incredibly slow :) In
    the Berlin sprint we have thus started to work on the "translation"
    part, i.e. how this code should be translated into C. We can now
    translate simple functions to C-like code including some type
    annotations. For convenience, we are reusing a modified subset of Pyrex
    to generate the low-level C code. Thanks to Seo (who joined the project
    from south-korea) we also have a lisp-backend to fuel the endless
    threads about python versus lisp :)

    The goal of the next sprint is to complete this work so that we can
    translate the complete PyPy source into a huge Pyrex module, and then a
    big CPython extension module. True, the result is not independent from
    CPython, as it runs reusing its runtime environment. But it's probably
    an interesting enough state to make a public release from.

    The translation is done by generating a control flow of functions by
    means of abstract interpretation. IOW, we run the PyPy interpreter with
    a custom object space ("flowobjspace") which generates a control flow
    graph (including the elementary operations) which is then used to
    generate low-level code for backends. We also have preliminary type
    inference on the graphs, which can be used by the Pyrex generator to
    emit some C type declarations.

    Writing transformations and analysis of these graphs and displaying them
    with GraphViz's 'dot' is great fun! We certainly have a greater need
    than ever for graphical interactive tools to see, understand and debug
    all these graph manipulations and run tests of them. Currently it is a
    bit difficult to write a test that checks that a transformed graph
    "looks right"!

    What we expect from the Amsterdam sprint is thus:

    - a big not-too-slow "" extension module for CPython, where at
    least integer arithmetic is done efficiently

    - interactive tools to display and debug and test PyPy, visualizing
    control flow, call-graphs and state models.

    - improving and rewriting our testing tools to give us more control over
    the testing process, and to allow more interactive testing sessions.

    Other interesting News

    Before mid October, we also had a quite different Sprint. It was an
    approximately 10-day effort towards submitting a proposal to the EU. If
    it is accepted we will have resources to fund some developers working
    full- or parttime on the project. However, our "sprint driven
    development" will continue to play the central role for development of

    There are especially two technical sections of the proposal which you
    might find interesting to read:

    "Scientific and technological objectives":

    "Detailed implementation plan"

    Maybe you want to read the whole proposal for other reasons, too, like
    making a EU project of your own or competing with us. Actually,
    with our sprints there is usually a lot of room for cooperation :)
    Anyway, here is the PDF-url:

    Everybody who thinks that he/she could help on the project is
    invited to join! Btw, the latest discussions about our sprint
    goals usually take place on the pypy-dev list:

    have fun,

    Armin & Holger
    Armin Rigo, Oct 26, 2003
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. holger krekel
    holger krekel
    Sep 8, 2003
  2. Laura Creighton
    Laura Creighton
    Sep 13, 2003
  3. holger krekel

    PyPy Vilnius Sprint 15-23 nov 2004

    holger krekel, Oct 14, 2004, in forum: Python
    holger krekel
    Oct 14, 2004
  4. Christian Tismer
    Christian Tismer
    Feb 15, 2005
  5. Armin Rigo
    Armin Rigo
    Jun 12, 2005

Share This Page