This article is rated C-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||||||||
|
detaching the abstraction.
editfundamentally, an interpreted Python interpreter will always "really" be running the C code (or whatever) that the original interpreter runs. Unless, of course, you detach the abstraction. How can you do that? How can you detach my thoughts from the meat inside which they occur? The answer is: nirvanna. PyPy can exist without the interpreter it is running on by attaining Nirvanna, or no place. How does it do that? First of all, it has to FREE itself of worldly thoughts. The python interpreter should be running an EMPTY PROGRAM. Then, it can be detached from the worldly (C) process that it arose under, into pure nirvanna. —Preceding unsigned comment added by 82.234.207.120 (talk) 23:43, 2 August 2009 (UTC)
- Wtf? Lol. Devourer09 (t·c) 21:05, 20 May 2011 (UTC)
PyPy is not a meta-circular evaluator
editI removed this statement from the article, here I explain why. PyPy is not a meta-circular evaluator, it is just written in a Python subset, but it does implement Python features, instead of reusing directly those available in RPython. And it needs to do so, since many Python features are not available in RPython. The introduction of the paper PyPy’s Approach to Virtual Machine Construction, by Armin Rigo and Samuele Pedroni, contrasts their approach to the one of meta-circular evaluators. --Blaisorblade (talk) 08:50, 28 October 2010 (UTC)
New Logo
editThere appears to be a new logo for PyPy of a snake eating itself. Can someone update this please. —Preceding unsigned comment added by 121.73.220.22 (talk) 00:59, 17 May 2011 (UTC)
Useful reference
editHere's a useful reference if anyone wants to incorporate the material into the article or help cite statements already written there. Mostly this is just a reminder for myself if I ever get a chance to come back to this article and edit it. Devourer09 (t·c) 21:15, 20 May 2011 (UTC)
Mentions of PyPy in the computer science literature
editSome day this article will be improved by adding reliable sources. Luckily there are several papers by computer scientists who appear to use PyPy for one purpose or another. PyPy is also described briefly in some instructional books about the Python language. These works don't usually go into much detail, they give only a few sentences. Here are a bunch of links to papers that I found. People who work on the PyPy article may be able to see if any of these could usefully be added. I am assuming that the proceedings of computer science conferences can be treated as reliable sources:
List of external publications from the PyPy website
editComputer science papers using PyPy or or instructional books mentioning PyPy that can be found from Google Scholar
edit- Anders Sigfridsson et al., "Sprint-driven development.." Discussed the use of coding sprints by the PyPy project. Google Books: "Logic-based program synthesis and transformation: 16th international transformation, LOPSTR 2006 (Venice, July 2006)", ed. German Puebla. (LNCS 4407) Google Books link
- Magnus Lie Hetland, "Python algorithms: Mastering basic algorithms in the Python language. (2010). p.272: Discusses Psyco, PyPy and Unladen Swallow. Via Google Books link. It gives about five sentences on what PyPy is trying to do. It mainly describes the project's goals rather than its achievements.
- John Paul Mueller, "Professional IronPython" (no page number visible in Google Books). Describes how to get modules from PyPy for use with IronPython. Google Books link
- Magnus Lie Hetland, "Beginning Python: from novice to professional" p. 373. Pypy..: "This is an ambitious and forward-looking implementation of Python--in Python. While this might sound super-slow, the hope is that eventually, through quite advanced code analysis and compilation, it will outperform CPython…At the core of PyPy lies RPython, which is a restricted dialect of Python. RPython is suited for automated type inference and the like, permitting translation into static languages or native machine code, or to other dynamic languages (such as JavaScript), for that matter."
- Proceedings of the 2004 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'04): August 2004, Verona, Italy. "One of the goals of the PyPy project is to provide a generic interpreter which can both concrete and abstract (i.e. symbolic) interpretation." [snippet view]
- Compiler Construction: 10th International Conference. F. Logozzo and H. Venter: "RATA: Rapid atomic type analysis by abstract interpretation". Page 81. Section 7 Related Work. Talks about just-in-time compilation. Mentions the use of it in PyPy. Google Books link
- Nicholas Riley and Craig Zilles (Oct 2006). "Hardware Transactional Memory Support for Lightweight Dynamic Language Evolution." In: Dynamic Language Symposium. Link to author's copy of the report. They use PyPy when running their experiment. Dynamic languages symposium which was part of OOPSLA 2006 (Published at p 994 of the OOPSLA Companion)
- The 2006 OOPSLA also features this paper: Armin Rigo and Samuele Pedroni: "PyPy's approach to virtual machine construction"
- Carl Bolz, Maciej Fijalkowski, Antonio Cuni and Armin Rigo (2009). "Tracing the Meta-Level: PyPy’s Tracing JIT Compiler" Presented at ICOOOLPS '09, Genoa Italy. http://pypy.org
Remove Tags: General Notability & reliable secondary sources
editI feel that this article is no longer just a "lowly-unimportant stub" and have since upgraded it's status to B.
- But still is tagged both with {{notability|date=October 2011}} and {{primary sources|date=October 2011}} that, I feel should be removed.
- Does anyone else 👍agree ? or 👎disagree ?
- --Mkouklis (talk) 16:18, 4 December 2011 (UTC)
- I disagree on all counts. This article is "start" class at best. There are no reliable independent sources, and, hence, the notability is severely in doubt. --Guillaume2303 (talk) 17:17, 4 December 2011 (UTC)
I added some independent magazine / news coverage, which in addition to PyPy's field significance and academic coverage should be more than enough to meet the criteria of Wikipedia:Notability (software)#Inclusion. In terms of quality assessment, the article still has notable content gaps, which puts it below B-class, but the structure, sourcing and style is more developed than Start-class, so i'll rate it as C-class until the gaps are filled. --Piet Delport (talk) 18:18, 27 December 2011 (UTC)
Explaining how "Pypy is written in python and how that does indeed mean PyPy written programs run faster then with standard Python
editThis article really should make the effort to explain that apparent conundrum and why is indeed true. I admit I an not up to snuff to take on the task myself but it should be included in the article. Even if the explanation ends up being hard to understand, at least some people will understand it and others will appreciate at least some sort of attempt at explaining it which is what I was looking for when I looked up this article. --Cab88 (talk) 19:02, 6 September 2012 (UTC)
- I gave it a shot in the lead section. -- intgr [talk] 22:32, 11 December 2012 (UTC)
ungrammatical lede
edit"Current PyPy versions are translated an intermediate representation, RPython, into C code, and then compiled. " -- The most important sentence in the article and it isn't even a sentence, just meaningless gibberish. What it replaced was a sentence, but still trash. "PyPy versions are translated" is nonsense ... -- 184.189.217.210 (talk) 01:24, 18 January 2017 (UTC)
- I have updated the lead section. Hope its clearer. Pj quil (talk) 03:30, 13 March 2017 (UTC)
Rewrote the introduction
editI thought the previous introduction was a bit confusing. I wrote a new one which mentions the following:
- PyPy is faster than CPython
- PyPy is faster because it's a JIT compiler
- Code which uses C extensions doesn't necessarily run faster in PyPy
- PyPy is the product of a technique called meta-tracing which transforms interpreters into Tracing JIT compilers
- PyPy's meta-tracing toolchain is called RPython
Any suggestions? — Preceding unsigned comment added by 86.23.54.173 (talk) 02:54, 26 December 2017 (UTC)
What exactly is RPython?
editWhen reading the article, it is first claimed that "PyPy's meta-tracing toolchain is called RPython." Later, it is stated that "the PyPy interpreter itself is written in a restricted subset of Python called RPython (Restricted Python)." So, is RPython a toolchain, or a restricted subset of Python, or both? —Kri (talk) 13:12, 3 September 2024 (UTC)