Difference between revision 3 and current revision

No diff available.

Table of Contents for Programming Languages: a survey


RPython is a restricted subset of Python, with restrictions on dynamic typing, reflection, and metaprogramming to enable type inference at compile time.

RPython was built as part of the PyPy? project, but this section is only about RPython considered as a language in itself. The PyPy? project has two goals (1) a reimplementation of Python in RPython (see the relevant section of Implementation Case Studies), (2) to be a generic toolkit for programming language implementation based on RPython (see PyPy (seen as a toolkit for creating programming languages) ).

RPython restrictions

Some notes on some of RPython's restrictions (some of these are direct quotes from the documentation):

alternate list from [1] (todo combine with above):

Integer Types: how RPython deals with the need for unboxed integers

"Starting with Python 2.4, integers mutate into longs on overflow. In contrast, we need a way to perform wrap-around machine-sized arithmetic by default, while still being able to check for overflow when we need it explicitly. Moreover, we need a consistent behavior" when RPython is run as RPython vs. when it is run as Python. To get control over this, RPython uses: