[pypy-commit] pypy.org extradoc: updated the architectures on features.html and regenerated them
plan_rich
pypy.commits at gmail.com
Fri Apr 29 02:37:47 EDT 2016
Author: Richard Plangger <planrichi at gmail.com>
Branch: extradoc
Changeset: r737:7da22d5ebd79
Date: 2016-04-29 08:37 +0200
http://bitbucket.org/pypy/pypy.org/changeset/7da22d5ebd79/
Log: updated the architectures on features.html and regenerated them
diff --git a/compat.html b/compat.html
--- a/compat.html
+++ b/compat.html
@@ -111,15 +111,15 @@
not support refcounting semantics. The following code won't fill the
file immediately, but only after a certain period of time, when the GC
does a collection:</p>
-<div class="syntax python"><pre><span class="nb">open</span><span class="p">(</span><span class="s">"filename"</span><span class="p">,</span> <span class="s">"w"</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"stuff"</span><span class="p">)</span><br/></pre></div>
+<div class="syntax python"><pre><span></span><span class="nb">open</span><span class="p">(</span><span class="s2">"filename"</span><span class="p">,</span> <span class="s2">"w"</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">"stuff"</span><span class="p">)</span><br/></pre></div>
<p>The proper fix is</p>
-<div class="syntax python"><pre><span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s">"filename"</span><span class="p">,</span> <span class="s">"w"</span><span class="p">)</span><br/><span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"stuff"</span><span class="p">)</span><br/><span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span><br/></pre></div>
+<div class="syntax python"><pre><span></span><span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s2">"filename"</span><span class="p">,</span> <span class="s2">"w"</span><span class="p">)</span><br/><span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">"stuff"</span><span class="p">)</span><br/><span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span><br/></pre></div>
<p>or using the <tt class="docutils literal">with</tt> keyword</p>
-<div class="syntax python"><pre><span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s">"filename"</span><span class="p">,</span> <span class="s">"w"</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span><br/> <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"stuff"</span><span class="p">)</span><br/></pre></div>
+<div class="syntax python"><pre><span></span><span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s2">"filename"</span><span class="p">,</span> <span class="s2">"w"</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span><br/> <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">"stuff"</span><span class="p">)</span><br/></pre></div>
<p>Similarly, remember that you must <tt class="docutils literal">close()</tt> a non-exhausted
generator in order to have its pending <tt class="docutils literal">finally</tt> or <tt class="docutils literal">with</tt>
clauses executed immediately:</p>
-<div class="syntax python"><pre><span class="k">def</span> <span class="nf">mygen</span><span class="p">():</span><br/> <span class="k">with</span> <span class="n">foo</span><span class="p">:</span><br/> <span class="k">yield</span> <span class="mi">42</span><br/><br/><span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">mygen</span><span class="p">():</span><br/> <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="mi">42</span><span class="p">:</span><br/> <span class="k">break</span> <span class="c"># foo.__exit__ is not run immediately!</span><br/><br/><span class="c"># fixed version:</span><br/><span class="n">gen</span> <span class="o">=</span> <span class="n">mygen</span><span class="p">()</span><br/><span class="k">try</span><span class="p">:</span><br/> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">gen</span><span class="p">:</span><br/> <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="mi">42</span><span class="p">:</span><br/> <span class="k">break</span><br/><span class="k">finally</span><span class="p">:</span><br/> <span class="n">gen</span><span class="o">.</span><span class="n">close</span><span class="p">()</span><br/></pre></div>
+<div class="syntax python"><pre><span></span><span class="k">def</span> <span class="nf">mygen</span><span class="p">():</span><br/> <span class="k">with</span> <span class="n">foo</span><span class="p">:</span><br/> <span class="k">yield</span> <span class="mi">42</span><br/><br/><span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">mygen</span><span class="p">():</span><br/> <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="mi">42</span><span class="p">:</span><br/> <span class="k">break</span> <span class="c1"># foo.__exit__ is not run immediately!</span><br/><br/><span class="c1"># fixed version:</span><br/><span class="n">gen</span> <span class="o">=</span> <span class="n">mygen</span><span class="p">()</span><br/><span class="k">try</span><span class="p">:</span><br/> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">gen</span><span class="p">:</span><br/> <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="mi">42</span><span class="p">:</span><br/> <span class="k">break</span><br/><span class="k">finally</span><span class="p">:</span><br/> <span class="n">gen</span><span class="o">.</span><span class="n">close</span><span class="p">()</span><br/></pre></div>
<p>More generally, <tt class="docutils literal">__del__()</tt> methods are not executed as predictively
as on CPython: they run “some time later” in PyPy (or not at all if
the program finishes running in the meantime). See <a class="reference external" href="http://pypy.readthedocs.org/en/latest/cpython_differences.html#differences-related-to-garbage-collection-strategies">more details
diff --git a/features.html b/features.html
--- a/features.html
+++ b/features.html
@@ -72,13 +72,20 @@
<p>PyPy is a replacement for CPython. It is built using the RPython
language that was co-developed with it. The main reason to use it
instead of CPython is speed: it runs generally faster (see next section).</p>
-<p><strong>PyPy</strong> implements <strong>Python 2.7.10</strong> and runs on Intel
-<a class="reference external" href="http://en.wikipedia.org/wiki/IA-32">x86 (IA-32)</a> , <a class="reference external" href="http://en.wikipedia.org/wiki/X86_64">x86_64</a> and <a class="reference external" href="http://en.wikipedia.org/wiki/ARM">ARM</a> platforms, with PPC being
-stalled. It supports all of the core language, passing the Python test suite
+<p><strong>PyPy</strong> implements <strong>Python 2.7.10</strong>.
+It supports all of the core language, passing the Python test suite
(with minor modifications that were already accepted in the main python
in newer versions). It supports most of the commonly used Python
standard library modules. For known differences with CPython, see our
<a class="reference external" href="compat.html">compatibility</a> page.</p>
+<p>The following CPU architectures are supported and maintained:</p>
+<ul class="simple">
+<li><a class="reference external" href="http://en.wikipedia.org/wiki/IA-32">x86 (IA-32)</a></li>
+<li><a class="reference external" href="http://en.wikipedia.org/wiki/X86_64">x86_64</a></li>
+<li><a class="reference external" href="http://en.wikipedia.org/wiki/ARM">ARM</a> platforms</li>
+<li><a class="reference external" href="https://de.wikipedia.org/wiki/PowerPC">PPC</a> 64bit both little and big endian</li>
+<li><a class="reference external" href="https://de.wikipedia.org/wiki/System/390">s390x</a> running on Linux</li>
+</ul>
<p>If you are interested in helping to move forward, see our <a class="reference external" href="howtohelp.html">howtohelp</a> page.</p>
<p>We also have a beta release of <strong>PyPy3</strong> which implements <strong>Python 3.2.5</strong>.
It runs on the same platforms as above.</p>
diff --git a/source/features.txt b/source/features.txt
--- a/source/features.txt
+++ b/source/features.txt
@@ -10,14 +10,22 @@
language that was co-developed with it. The main reason to use it
instead of CPython is speed: it runs generally faster (see next section).
-**PyPy** implements **Python 2.7.10** and runs on Intel
-`x86 (IA-32)`_ , `x86_64`_ and `ARM`_ platforms, with PPC being
-stalled. It supports all of the core language, passing the Python test suite
+**PyPy** implements **Python 2.7.10**.
+It supports all of the core language, passing the Python test suite
(with minor modifications that were already accepted in the main python
in newer versions). It supports most of the commonly used Python
standard library modules. For known differences with CPython, see our
`compatibility`_ page.
+The following CPU architectures are supported and maintained:
+
+* `x86 (IA-32)`_
+* `x86_64`_
+* `ARM`_ platforms
+* `PPC`_ 64bit both little and big endian
+* `s390x`_ running on Linux
+
+
If you are interested in helping to move forward, see our `howtohelp`_ page.
We also have a beta release of **PyPy3** which implements **Python 3.2.5**.
@@ -27,6 +35,8 @@
.. _`x86 (IA-32)`: http://en.wikipedia.org/wiki/IA-32
.. _`x86_64`: http://en.wikipedia.org/wiki/X86_64
.. _`ARM`: http://en.wikipedia.org/wiki/ARM
+.. _`PPC`: https://de.wikipedia.org/wiki/PowerPC
+.. _`s390x`: https://de.wikipedia.org/wiki/System/390
.. _`howtohelp`: howtohelp.html
More information about the pypy-commit
mailing list