Parrot - Google

Parrot

Z Wikipedii

Skocz do: nawigacji, szukaj

Parrot – maszyna wirtualna przeznaczona do języków dynamicznie typowanych, takich jak Perl, Ruby i Python.

Spis treści

[edytuj] Historia

Nazwa Parrot pochodzi od primaaprilisowego żartu Simona Cozensa, który w 2001 roku napisał artykuł Programming Parrot na Perl.com (O’Reilly Network), pisząc o tym, iż Larry Wall i Guido van Rossum planują rzekomo połączenie języków Perl i Python. Wbrew burzy negatywnych komentarzy jakie wówczas wywołał, żart ów jak się później miało okazać zawierał więcej prawdy niż ktokolwiek mógł wtedy sądzić.

[edytuj] Języki programowania

Projekt Parrot powstał na listach dyskusyjnych Perla jako maszyna wirtualna przeznaczona dla Perla 6 (do dziś lista dyskusyjna projektu Parrot nosi nazwę perl6-internals, lecz wkrótce zmieniona zostanie na parrot-internals, pozostając jednak na serwerach perl.org), jednak prawdopodobnie wcześniej będzie można wykonywać za jej pomocą programy w języku Python lub Perl 5 (projekt Pony) niż Perl 6. Poza nimi trwają już prace nad wykorzystaniem projektu Parrot dla języków BASIC, Befunge, Brainfuck, Cola, Forth, Jako, m4, Miniperl, Ook, OpenComal, PHP, Plot, Ruby, Scheme, Tcl, URM i YAL. Wewnętrznymi językami dla projektu Parrot są PASM i IMC (PIR).

Duże zainteresowanie projektem przejawiają środowiska związane z Ruby, podczas gdy twórcy Pythona są bardziej zainteresowani pracami nad własnym projektem PyPy.

[edytuj] Zasady działania

Parrot jest maszyną rejestrową z operacjami wysokiego poziomu, takimi jak (podobnie jak aktualny bytecode Perla) operacje na całych łańcuchach.

[edytuj] Rejestry

Parrot ma po 32 rejestry czterech typów:

  • I0 do I31 – rejestry caÅ‚kowitoliczbowe, mogÄ… zawierać liczbÄ™ caÅ‚kowitÄ… lub wskaźnik (I od integer, liczba caÅ‚kowita),
  • N0 do N31 – rejestry zmiennoprzecinkowe (N od number, liczba),
  • S0 do S31 – rejestry Å‚aÅ„cuchowe (S od string, Å‚aÅ„cuch znaków),
  • P0 do P31 – rejestry obiektowe (P od PMC, Parrot Magic Cookie).

W przeciwieństwie do kodu bajtowego Perla, natywne perlowe typy (skalar, tablica, hasz i inne) są tu traktowane jako obiekty, a maszyna wirtualna operuje na znacznie prostszych typach.

[edytuj] Linki zewnętrzne


Termin apelacji Karadżicia minął
O północy z piątku na sobotę minął ostateczny termin odwoływania się od ekstradycji do Trybunału ONZ zatrzymanego w poniedziałek w Belgradzie przywódcy bośniackich Serbów Radovana Karadżicia.
Włosi drżą przed imigrantami
Stały napływ nielegalnych imigrantów nie na żarty przestraszył włoski rząd. W związku z tym, tamtejsze władze ogłosiły w piątek stan kryzysowy na terenie całego kraju.
Uczył studentów jak godnie umierać
Zmarł Randy Pausch, niezwykły wykładowca amerykańskiego uniwersytetu, który przekonywał swoich studentów, że umieranie nie jest tragedią. Chory na raka naukowiec zyskał popularność dzięki opublikowanemu w internecie wykładowi, podczas którego robił pompki i śmiał się ze zbliżającej śmierci.
Z maczetami na uchodźców
23 osoby zostały ranne po tym, jak kilkudziesięciu mężczyzn zaatakowało mieszkańców ośrodka dla uchodźców w Norwegii. Napastnicy mieli przy sobie metalowe pręty i maczety.
Setki osób uciekają przed powodzią
Ponad 300 osób zostało ewakuowanych po tym, jak ulewne deszcze spowodowały powodzie w północno-wschodniej Rumunii. Woda uszkodziła drogi, mosty i linie energetyczne.
Linki: Strona g³ówna