Commit 09101bbe authored by Manuel Jacob's avatar Manuel Jacob

Redo some recent changes from the improve-docs branch.

Original pull request by Martin Matusiak.
parent b0cb54f5
...@@ -74,9 +74,6 @@ List of extension modules that we support: ...@@ -74,9 +74,6 @@ List of extension modules that we support:
zipimport zipimport
zlib zlib
When translated to Java or .NET, the list is smaller; see
`pypy/config/pypyoption.py`_ for details.
When translated on Windows, a few Unix-only modules are skipped, When translated on Windows, a few Unix-only modules are skipped,
and the following module is built instead: and the following module is built instead:
......
...@@ -50,6 +50,8 @@ the version you have is not 4.2 or you will run into `this bug`_. ...@@ -50,6 +50,8 @@ the version you have is not 4.2 or you will run into `this bug`_.
libz-dev libbz2-dev libncurses-dev libexpat1-dev \ libz-dev libbz2-dev libncurses-dev libexpat1-dev \
libssl-dev libgc-dev python-sphinx python-greenlet libssl-dev libgc-dev python-sphinx python-greenlet
For the optional lzma module on PyPy3 you will also need ``liblzma-dev``.
On a Fedora-16 box these are:: On a Fedora-16 box these are::
[user@fedora-or-rh-box ~]$ sudo yum install \ [user@fedora-or-rh-box ~]$ sudo yum install \
...@@ -57,6 +59,8 @@ the version you have is not 4.2 or you will run into `this bug`_. ...@@ -57,6 +59,8 @@ the version you have is not 4.2 or you will run into `this bug`_.
zlib-devel bzip2-devel ncurses-devel expat-devel \ zlib-devel bzip2-devel ncurses-devel expat-devel \
openssl-devel gc-devel python-sphinx python-greenlet openssl-devel gc-devel python-sphinx python-greenlet
For the optional lzma module on PyPy3 you will also need ``xz-devel``.
On SLES11: On SLES11:
$ sudo zypper install gcc make python-devel pkg-config \ $ sudo zypper install gcc make python-devel pkg-config \
...@@ -74,6 +78,7 @@ the version you have is not 4.2 or you will run into `this bug`_. ...@@ -74,6 +78,7 @@ the version you have is not 4.2 or you will run into `this bug`_.
* ``pkg-config`` (to help us locate libffi files) * ``pkg-config`` (to help us locate libffi files)
* ``libz-dev`` (for the optional ``zlib`` module) * ``libz-dev`` (for the optional ``zlib`` module)
* ``libbz2-dev`` (for the optional ``bz2`` module) * ``libbz2-dev`` (for the optional ``bz2`` module)
* ``liblzma`` (for the optional ``lzma`` module, PyPy3 only)
* ``libsqlite3-dev`` (for the optional ``sqlite3`` module via cffi) * ``libsqlite3-dev`` (for the optional ``sqlite3`` module via cffi)
* ``libncurses-dev`` (for the optional ``_minimal_curses`` module) * ``libncurses-dev`` (for the optional ``_minimal_curses`` module)
* ``libexpat1-dev`` (for the optional ``pyexpat`` module) * ``libexpat1-dev`` (for the optional ``pyexpat`` module)
......
...@@ -102,7 +102,7 @@ on the `development mailing list`_. ...@@ -102,7 +102,7 @@ on the `development mailing list`_.
.. _Python: http://docs.python.org/index.html .. _Python: http://docs.python.org/index.html
.. _`more...`: architecture.html#mission-statement .. _`more...`: architecture.html#mission-statement
.. _`PyPy blog`: http://morepypy.blogspot.com/ .. _`PyPy blog`: http://morepypy.blogspot.com/
.. _`development bug/feature tracker`: https://bugs.pypy.org .. _`development bug/feature tracker`: https://bitbucket.org/pypy/pypy/issues
.. _here: http://www.tismer.com/pypy/irc-logs/pypy/ .. _here: http://www.tismer.com/pypy/irc-logs/pypy/
.. _`Mercurial commit mailing list`: http://mail.python.org/mailman/listinfo/pypy-commit .. _`Mercurial commit mailing list`: http://mail.python.org/mailman/listinfo/pypy-commit
.. _`development mailing list`: http://mail.python.org/mailman/listinfo/pypy-dev .. _`development mailing list`: http://mail.python.org/mailman/listinfo/pypy-dev
......
...@@ -15,14 +15,14 @@ important lessons that everyone willing to contribute should learn: ...@@ -15,14 +15,14 @@ important lessons that everyone willing to contribute should learn:
* Because of the above, we are very serious about Test Driven Development. * Because of the above, we are very serious about Test Driven Development.
It's not only what we believe in, but also that PyPy's architecture is It's not only what we believe in, but also that PyPy's architecture is
working very well with TDD in mind and not so well without it. Often working very well with TDD in mind and not so well without it. Often
the development means progressing in an unrelated corner, one unittest development means progressing in an unrelated corner, one unittest
at a time; and then flipping a giant switch, bringing it all together. at a time; and then flipping a giant switch, bringing it all together.
(It generally works out of the box. If it doesn't, then we didn't (It generally works out of the box. If it doesn't, then we didn't
write enough unit tests.) It's worth repeating - PyPy write enough unit tests.) It's worth repeating - PyPy's
approach is great if you do TDD, not so great otherwise. approach is great if you do TDD, and not so great otherwise.
* PyPy uses an entirely different set of tools - most of them included * PyPy uses an entirely different set of tools - most of them included
in the PyPy repository. There is no Makefile, nor autoconf. More below in the PyPy repository. There is no Makefile, nor autoconf. More below.
Architecture Architecture
============ ============
...@@ -32,7 +32,7 @@ PyPy has layers. The 100 miles view: ...@@ -32,7 +32,7 @@ PyPy has layers. The 100 miles view:
* `RPython`_ is the language in which we write interpreters. Not the entire * `RPython`_ is the language in which we write interpreters. Not the entire
PyPy project is written in RPython, only the parts that are compiled in PyPy project is written in RPython, only the parts that are compiled in
the translation process. The interesting point is that RPython has no parser, the translation process. The interesting point is that RPython has no parser,
it's compiled from the live python objects, which make it possible to do it's compiled from the live python objects, which makes it possible to do
all kinds of metaprogramming during import time. In short, Python is a meta all kinds of metaprogramming during import time. In short, Python is a meta
programming language for RPython. programming language for RPython.
...@@ -40,7 +40,7 @@ PyPy has layers. The 100 miles view: ...@@ -40,7 +40,7 @@ PyPy has layers. The 100 miles view:
.. _`RPython`: coding-guide.html#RPython .. _`RPython`: coding-guide.html#RPython
* The translation toolchain - this is the part that takes care about translating * The translation toolchain - this is the part that takes care of translating
RPython to flow graphs and then to C. There is more in the `architecture`_ RPython to flow graphs and then to C. There is more in the `architecture`_
document written about it. document written about it.
...@@ -73,7 +73,7 @@ PyPy has layers. The 100 miles view: ...@@ -73,7 +73,7 @@ PyPy has layers. The 100 miles view:
.. _`we have a tracing JIT`: jit/index.html .. _`we have a tracing JIT`: jit/index.html
* Garbage Collectors (GC): as you can notice if you are used to CPython's * Garbage Collectors (GC): as you may notice if you are used to CPython's
C code, there are no ``Py_INCREF/Py_DECREF`` equivalents in RPython code. C code, there are no ``Py_INCREF/Py_DECREF`` equivalents in RPython code.
`Garbage collection in PyPy`_ is inserted `Garbage collection in PyPy`_ is inserted
during translation. Moreover, this is not reference counting; it is a real during translation. Moreover, this is not reference counting; it is a real
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment