RPython

RPython
Paradygmat

wieloparadygmatowy

Typowanie

statyczne

Platforma sprzętowa

wieloplatformowy

Platforma systemowa

wieloplatformowy

Strona internetowa

RPython (Restricted Python) – język programowania będący statycznie typowanym podzbiorem języka Python. Nazwą tą określa się także projekt (dawniej zwany PyPy, obecnie nazwa ta jest zarezerwowana dla innego projektu) pozwalający na manipulację programów RPython.

Każdy program napisany w RPython jest zarazem poprawnym programem w zwykłym Pythonie.

Wymóg statycznego typowania oznacza, że każda zmienna w danej przestrzeni nazw może być zainicjowana wartością tylko jednego typu. Przykładowo, jeżeli w danej funkcji podstawiono pod zmienną „a” wartość 1, to nie może w tej funkcji znaleźć się instrukcja przyporządkowująca zmiennej „a” wartość łańcuchową „pies”. RPython pozwala jednak na ograniczony polimorfizm, można np. łączyć w jednej funkcji podstawienia wartości całkowitych i zmiennoprzecinkowych pod jedną zmienną. Przyjęto także, że każda zmienna oprócz zmiennych liczbowych może być ustawiona na wartość None.

RPython ma mniejsze możliwości od pełnego Pythona, programowanie w nim jest trudne i mało wydajne. Nie służy on zatem do pisania normalnych programów. Użyteczność RPythona bierze się natomiast z tego, że jeżeli zostanie w nim napisany interpreter dowolnego języka programowania, to odpowiedni zestaw narzędzi jest go w stanie przekształcić w kompilator lub też w maszynę wirtualną. Projekt RPython jest zatem zestawem narzędzi ułatwiającym tworzenie kompilatorów i maszyn wirtualnych.

Projekt RPython pozwala na tworzenie interpreterów JIT.

W języku RPython został napisany interpreter pełnego języka Python. Projekt ten nazywa się PyPy. Stworzono przy jego pomocy interpreter JIT języka Python, który jest często wydajniejszy od tradycyjnego interpretera napisanego w C (CPython).

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.