FACTOID # 50: Libya is the only country with a single-coloured flag.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > PyPy
PyPy
Latest release: 1.0 / March 27, 2007
OS: Cross-platform
Genre: Python interpreter and compiler toolchain
License: MIT License
Website: http://codespeak.net/pypy/

PyPy is a self-hosting interpreter for the Python programming language. Image File history File links No higher resolution available. ... Code complete redirects here. ... is the 86th day of the year (87th in leap years) in the Gregorian calendar. ... Year 2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the AD/CE era in the 21st century. ... An operating system (OS) is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources. ... A cross-platform (or platform independent) programming language, software application or hardware device works on more than one system platform (e. ... Computer software can be organized into categories based on common function, type, or field of use. ... Python is a high-level programming language first released by Guido van Rossum in 1991. ... A software license is a legal agreement which may take the form of a proprietary or gratuitous license as well as a memorandum of contract between a producer and a user of computer software. ... The MIT License, also called the X License or the X11 License, originated at the Massachusetts Institute of Technology, is a license for the use of certain types of computer software. ... A website (alternatively, Web site or web site) is a collection of Web pages, images, videos or other digital assets that is hosted on one or several Web server(s), usually accessible via the Internet, cell phone or a LAN. A Web page is a document, typically written in HTML... Self-hosting refers to the use of a computer program as part of the toolchain or operating system that produces new versions of that same program—for example, a compiler that can compile its own source code. ... In computer science, an interpreter is a computer program that executes, or performs, instructions written in a computer programming language. ... Python is a high-level programming language first released by Guido van Rossum in 1991. ...

Contents

Details and Motivation

PyPy was conceived as an implementation of Python written in Python, which enables Python developers to hack the implementation. This makes it easy to identify areas where the it can be improved. PyPy is also more flexible and easier to experiment with than CPython, thus allowing developers to experiment with multiple implementations of specific features. Hack has several meanings in the technology and computer science fields: a clever or quick fix to a computer program problem; a clumsy or inelegant solution to a problem; or a modification of a program or device to give the user access to features that were otherwise unavailable to them. ... CPython is the default implementation of the Python programming language. ...


One of the goals of the project is to generate an optimized Python implementation from PyPy that will run faster than the current C implementation, although this goal has been reached only for some examples.[1]


Translation

PyPy consists of the standard interpreter and a translator. The interpreter is written in a restricted subset of the Python language, called RPython (Restricted Python). Unlike with CPython, RPython can be statically compiled. The translator is a tool chain that analyzes RPython code and translates it to a lower-level language, such as C, LLVM or CLI. C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... Low Level Virtual Machine (LLVM) is a compiler infrastructure designed for compile-time, link-time, run-time, and idle-time optimization of programs from arbitrary programming languages. ... Visual overview of the Common Language Infrastructure (CLI) The Common Language Infrastructure (CLI) is an open specification developed by Microsoft that describes the executable code and runtime environment that form the core of the Microsoft . ...


Project status

PyPy is also a followup to Psyco project, a just-in-time specializing compiler for Python, developed by Armin Rigo. PyPy's aim is to have a just-in-time specializing compiler with scope which was not available for Psyco. Psyco is a specializing compiler / just-in-time compiler for Python. ... For other uses, see Just In Time. ... In computer science, Run-time algorithm specialisation is a methodology for creating efficient algorithms for costly computation tasks of certain kinds. ...


PyPy is currently mainly a research and development project and does not focus on being production-ready as of 2007. 2007 is a common year starting on Monday of the Gregorian calendar. ...


PyPy was funded by the European Union as a STReP[2] between December 2004 and March 2007. The group A streptococcus bacterium (Streptococcus pyogenes, or GAS) is a form of Streptococcus bacteria responsible for most cases of streptococcal illness. ...


References

  1. ^ Samuele Pedroni (March 2007). PyPy release announcement.
  2. ^ PyPy EU project page.

See also

Bootstrapping is a term used in computer science to describe the techniques involved in writing a compiler (or assembler) in the target programming language which it is intended to compile. ... Self-hosting refers to the use of a computer program as part of the toolchain or operating system that produces new versions of that same program—for example, a compiler that can compile its own source code. ... A self-interpreter (frequently called meta-circular interpreter or meta-interpreter) is a programming language interpreter written in the language it interprets. ...

External links

Free Software Portal

  Results from FactBites:
 
PyPy | Lambda the Ultimate (1816 words)
PyPy, the Python implementation written in Python, was mentioned here a couple of times in the past.
It is not that PyPy still needs the CPython runtime to execute the PyPy interpreter encoded in the standard objectspace and the interpreter package but the interpreter is already translated to low-level code of C and LLVM backends (I don't know if it is completed for the latter yet).
I understand that PyPy is self hosting, I was just stating that it would be the next logical step in the development of Python (or I think it would be the next logical step) to have a native code compiler (whether JIT or not) for Python.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.