Parrot został pierwotnie opracowany w celu wsparcia opracowany oddziału 6.x Perl, ale rozrósł się do szerokiego projektu, który zapewnia maszynę wirtualną, która obsługuje wiele języków programowania, kod kompilacji z jednego języka na drugi.
To pozwala programistom do kompilacji kodu bajtowego, a następnie uruchomić z jednego języka na inny język.
Języki obecnie kierowania Parrot VM:
Rakudo Perl 6
Lua
Winxed
Tcl
JavaScript
Ruby
System
PHP
Python
APL
NET Języki
Co nowego w tym wydaniu:
- Poprawiono okna odwołuje się od 7,0 regresji 0,2 z cl.exe.
- Kompilacja Poprawiono rlimit dla OpenBSD.
- Obniżone stress test wspólne GC i ponownie dodać wariant JSON.nqp.
Co nowego w wersji 7.3.0 / 7.5.0-dev:
- Poprawiono okna odwołuje regresji od 7.0.2 z cl.exe.
- Kompilacja Poprawiono rlimit dla OpenBSD.
- Obniżone stress test wspólne GC i ponownie dodać wariant JSON.nqp.
Co nowego w wersji 7.3.0 / 7.4.0-dev:
- Poprawiono okna odwołuje regresji od 7.0.2 z cl.exe.
- Kompilacja Poprawiono rlimit dla OpenBSD.
- Obniżone stress test wspólne GC i ponownie dodać wariant JSON.nqp.
Co nowego w wersji 7.3.0:
- Poprawiono okna odwołuje regresji z 7.0.2 z cl .exe.
- Kompilacja Poprawiono rlimit dla OpenBSD.
- Obniżone stress test wspólne GC i ponownie dodać wariant JSON.nqp.
Co nowego w wersji 7.0.2 / 7.1.0-dev:
- Dodano eksperymentalne INTERPINFO_MAX_GENERATIONS api, wykonane MAX_GENERATIONS --ccflags regulowany, przemianowany na GC_MAX_GENERATIONS i używać prawidłowy numer.
- Dodano atrybut niezalecane do wszystkich nieaktualnych funkcji.
- Poprawiono parser awarie wykryte przez American rozmytej lop.
- zastąpiła op koniec wewnątrz PCC metod przez op returncc.
- Zakończ PackFile_ API amortyzacyjne oraz refaktoryzacji. Nic złego eksport więcej.
- reenabled Następujące podpisy NCI: t (cstring), 2 (Integer PMC - & # X3E; krótka),
- 3 (- & # X3E; int), 4 (- & # X3E; długa). SDL i przekleństwa jest użyteczny ponownie.
- Dodano użyteczny podzbiór statycznych NCI łącznikami do rdzenia łącznikami.
- Aktualizacja dodatkowe łącznikami przekazać najbardziej NCI przykłady bez libffi tylko
- 2, 3 i 4 wymagają libffi gdy używany jest destrukcyjnie na Integer PMC.
- Poprawiono kilka blokowanie ResizablePMCArray (& quot; & quot; RPA). Regresje składania mRNA 6.10, który wybuchł perl6
- Dodano opcjonalną ostrzeżenie rpa spawów jak w perl5, gdy overlarge przesunięcie jest regulowana.
- Naprawiono regresji GC od 6.11 z ResizablePMCArray # 1159 (1,2% wolniej).
- Przejdź startowe ostrzeżenia & quot; Nie wiadomo zestawu znaków ` ', domyślnie ASCII & quot; kiedy nl_langinfo () nie powiodła się i dyskretnie użyć ASCII.
Co nowego w wersji 6.9.0:
- Włącz & # X3E; 2GB RAM na Darwin także .
- Crash Fix z papugą -d8 dump_instructions DEBUG_IMC
- Fix szerokość sprintf ciągów Unicode.
- Szerokość Fix sprintf Nan / INF / inf
- Optymalizacja utf8_substr. Nie używaj powolnego utf8 iterator.
- regenerowane i naprawione iso_8859_1_typetable. Dodany & # x5c; x2028, & # x5c; & # x2029 i x5c; v. Być cclass nowej linii
- Ochrona callmethod z pustego obiektu, utraty przez fixup_subs bezpośrednich.
- Dodaj Couroutine reset i metody Autoresetu.
- Dodaj -t8 flagi śledzenia dla stanów współprogram
- wyłączony flagi śledzenia -T4 i -t8 z --optimize.
- Wiadomości zharmonizowanie użytkowania papugi
liczyć
Co nowego w wersji 6.6.0:
- Zoptymalizowane napowietrznych wywołanie metody w czasie kompilacji w pmc2c bezpośrednio do uniknięcia napowietrznych run-time. Mniej temp. PMC, niespełna gałęzie i unikanie przynajmniej 2 kosztownych funkcji C na wywołanie metody.
- Nowy arity ostrzegawczy & quot; zła liczba argumentów:% d minął, oczekiwano% d & quot; .
Co nowego w wersji 6.3.0:
- Nowe Benchmark wyniki
- Stałe testy dla Cygwin i cygwin64
- Dodano 2 nowe przykłady / odniesienia / pliki i benchmarki / run.sh
Co nowego w wersji 5.9.0:
- Nie narzekają znaków utf8 wielobajtowych rozbiciu granice chunk.
- Poprawiono SEGV ReadAll na EOF, np Dzwoniąc ReadAll dwukrotnie.
- Poprawiono SEGV przy .const nie została znaleziona.
- Dodane PackfileView kompatybilnych metod, aby EvalPMC.
Co nowego w wersji 5.0.0:
- Jest to pierwsze stabilne wydanie Parrot z gwintem wsparcie (przez PMC Task).
Co nowego w wersji 4.10.0:
- Dodane PMCNULL sprawdzić result_info op
- Poprawiono zapis Separator bug na IO uchwyty.
Co nowego w wersji 4.9.0:
- Zachowaj kodowania informacji w optymalizatora IMCC, która ustala op concat ale prawdopodobnie wiele więcej przypadków z nie-ASCII kodowane stałe ciągi.
- Poprawiono set_string_native ByteBuffer, który stał zsynchronizowany z dwóch buforów wewnętrznych.
- Konfiguracja Preload kroki, gdy wywołana z perl -d Configure.pl.
- Gazy niepotrzebne klucze konfiguracyjne z zainstalowanym config hash. Zapisuje 6360 bajtów z każdego zainstalowanego pliku wykonywalnego.
- Parrot_get_cpu_type powraca teraz & quot; wiadomo & quot; dla wszystkich nieznanych typów CPU. Na innych niż Windows powrócił przed 4.9.0 łańcuch pusty.
Co nowego w wersji 4.7.0:
- Dodano .all_tags () i .all_tagged_pmcs () metody do PackfileView PMC.
- Kilka budować i standardów kodowania poprawki.
Co nowego w wersji 4.5.0:
- Dodano .write_bytes i .read_bytes metody do uchwytu pliku i PMC gniazda.
- Dodane Parrot_api_set_stdhandle, Parrot_api_new_call_object i Parrot_api_setup_signature funkcje API wstawiania.
- Usunięto & quot; może & quot; Vtable.
Co nowego w wersji 4.1.0:
- Wspólne biblioteki i pliki binarne instalowane są obecnie usuwane, jeśli wbudowany z --optimize na Cygwin, co znacznie zmniejsza ich rozmiar na dysku.
- Nowe eksperymentalne PCC związane ops dodany do rdzenia.
Co nowego w wersji 4.0.0:
- Rdzeń:
- Kilka porządki API interp podsystemu
- porządki i dokumentacji dodatki dla zielonych wątków i timerów
- Iterator PMC i rodzina teraz wdrożyć & quot; iterator & quot; Rola
- Błąd w Parrot_ext_try została ustalona, gdy nie była popping kontekst prawidłowo
- Dokumentacja:
- Dokumenty dla wszystkich wersji Parrot kiedykolwiek wydany są teraz dostępne w http://parrot.github.com
- Testy:
- Testy czasowy PMC zostały przeliczone z PASM do PIR
Co nowego w wersji 3.10.0:
- Znak vtable został dodany do Wybierz PMC
- Moduł Parrot :: Perl HTML 5 został usunięty z parrot.git a teraz mieszka w https://github.com/parrot/parrot-embed
- Sposób set_random dodano do całkowitej liczby PMC więc liczby losowe mogą być wytwarzane bez konieczności załadowania dynops matematycznych
- Nowa realizacja zielonych wątków dodano Parrot, w ramach przygotowań do solidnego systemu hybrydowego gwintowania. Zielone wątki nie są obecnie dostępne w systemie Windows.
Co nowego w wersji 3.9.0:
- Rdzeń:
- Oddział Whiteknight / kill_threads został połączony, który usuwa realizację starych i złamany gwint / współbieżności. Lepsze i bardziej elastyczne prymitywów współbieżności są obecnie w trakcie opracowywania. Wiązało się to również usunięcie niektórych z ostatnich śladów kodu montażowej z Parrot jak również usuwanie udziału i share_ro vtables.
- random_lib.pir został usunięty, ponieważ już istnieją lepsze alternatywy
- zamrażać i rozmrażać vtables wyjęto z domyślnym PMC, ponieważ nie były one użyteczne i spowodowało trudne do znalezienia błędów.
- Nowy podprogram profilowanie RunCore został dodany. To może być włączony z argumentem wiersza polecenia -R subprof. Uzyskane dane mogą być analizowane przy KCachegrind.
- Dodane get_string vtable do FixedIntegerArray i FixedFloatArray PMC
- Metoda update () został dodany do Hash PMC, która aktualizuje jeden Hash z treścią drugiego. Przyspiesza to czas rakudo startowy / nqp.
- Języki:
- Aktualizacja do wersji 1.3.0 snapshot
- Dodano wbudowane uśpienia
- Modyfikator "wielo" umożliwia kilka wielo funkcjonalność
- Społeczność:
- Nowy repo dla Parrot Alternatywny Compiler Toolkit, ponownej realizacji PCT w Winxed: https://github.com/parrot/PACT
- Dokumentacja:
- Jesteśmy w procesie migracji naszą wiki Trac na http://trac.parrot.org/ do Github na https://github.com/parrot/parrot/wiki
- Dokumentacja Packfile PMC została zaktualizowana
- Testy:
- Wybierz testy PMC poprawiła przejść na platformach innych niż Linuxy
Co nowego w wersji 3.6.0:
- Rdzeń:
- Class.add_vtable_override teraz pozwala na nadpisanie nadpisanie
- całkowitymi, pływaki oraz łańcuchy mogą teraz być przechowywane w zmiennych leksykalnych. Wcześniej tylko PMC może być przechowywany w lexicals.
- VTABLE_substr została usunięta. VTABLE_substr_str została zmieniona na VTABLE_substr
- Dodano nowy typ PackfileView PMC, zamierzony zastępstwo dla nieaktualnych Eval PMC.
- vtable is_integer na PMC String pracuje teraz dla wszystkich kodowań smyczkowych.
- Komunikaty o błędach Unicode na Win32 teraz działać poprawnie.
- Wyciek pamięci IMCC została ustalona.
- Języki:
- snaphost z Winxed dołączone Parrot został zaktualizowany do wersji 1.0.0
- Winxed została przeniesiona do Github: https://github.com/NotFound/winxed
Co nowego w wersji 3.5.0:
- Rdzeń:
- Parrot_PMC_destroy, Parrot_PMC_mark i Parrot_PMC_invoke zostały usunięte z publicznego rozszerzenia API.
- przeszłość ma teraz typy węzłów PAST :: stmt, obsługuje wielokrotnego rejestry tymczasowe.
- pokrycia Test osadzania i rozszerzające interfejs jest obecnie co najmniej 95%.
- migawka Winxed jest obecnie zawarte w rdzeniu Parrot aby ułatwić pisanie narzędzi rdzenia Parrot z języka poziomie wyższym niż płatność.
- Języki:
- Ulepszona czasie kompilacji zakres wyszukiwania.
- 'using namespace "dodano w oświadczeniu.
- Klasy kompilator i funkcje mieszka obecnie w Winxed;. Nazw Compiler
- Testy:
- Uprząż zestaw testowy Parrot teraz rozumie zmienną środowiskową HARNESS_TIMER. Ustawianie go na true pokaże wyniki czasowym dla próby.
- Testy IPv6 są obecnie równoległe badania obsłudze.
Co nowego w wersji 3.4.0:
- Rdzeń:
- pokoleniowej Mark i Sweep śmieciarza jest nowy domyślny.
- --gc-przedszkole-size argument wiersza poleceń został dodany.
- Parrot teraz dostaje entropii od bazowego systemu operacyjnego.
- NCI podsystem obsługuje 8, 16, 32 i 64-bitowych liczb całkowitych.
- NCI podsystem obsługuje teraz & quot; long long & quot; i & quot; long double & quot; podpisów. Nie wszystkie platformy / kompilatory obsługuje tych niestandardowych typów, dzięki czemu programiści powinni zdawać by zwrócić uwagę, że korzystanie z nich zmniejsza przenośności.
- Wiele funkcji OpenGL więcej w oprawach Parrot OpenGL są dostępne, co wymagało wyżej wymienionych podpisów.
- osadzania funkcje API związane kodu bajtowego, przeniósł się do src / embed / bytecode.c.
- Języki:
- Użyj 'za pomocą extern' import modułów.
- Ulepszone stadium 0 prefix ++ i -. Operatorzy
- Zezwalaj 'null' oraz operatora warunkowego.
- Kilka przykładów są aktualizowane.
- Społeczność:
- Google Summer of Code Okres Klejenie idzie dobrze. Studenci są najczęściej wykonywane z ich klas i wiele Kod popłynie wkrótce.
- Dokumentacja
- Więcej wstępy PCT są dostępne pod adresem:. Http://github.com/benabik/cish
Co nowego w wersji 3.3.0:
- Rdzeń:
- ISA i isa_pmc vtables mogą być teraz nadpisywane z PIR
- IMCC ma nowy ulepszony interfejs zewnętrzny
- Nowa IMCCompiler PMC dodaje prototyp PDD31-alike funkcjonalność kompilatorów PIR i PASM
- Nowy --with-llvm opcja Configure.pl, które odwołują się do LLVM jeśli jest ona dostępna
- Społeczność:
- Parrot Virtual Machine został przyjęty do Google Summer of Code 2011
- Ekosystem:
- Rosella dodaje stabilny & quot; Event & quot; Biblioteka wdrożyć publikowania / subskrypcji mechanizmu
- Testy:
- pokrycia test extend_vtable podsystemu została znacznie zwiększona
Co nowego w wersji 3.2.0:
- Pełne wsparcie dla Unicode w nazwach plików Linux i Win32.
- Opcja konfiguracji --cxx nie ma.
- Nowy pokoleniowa GC realizowane. Aby włączyć go uruchomić Configure.pl --gc = gramów.
- Teraz op definicje są semantycznie analizowany. To otwiera możliwości dla przyszłych optymalizacji rdzenia papug.
- Oświadczenie przekształcić '' .param PIR systax.
- PMC jest realizowany za dostęp bufora niskopoziomowego, które oddzielają reprezentację ze wskaźników.
- Pomoc dodaną dla "long double ',' long long ', a 64-bit do StructView.
- W math.h są dostępne narzędzia do INF / NaN.
- PMC Podpis służą perwersyjnie.
Co nowego w wersji 3.1.0:
- PMC Wyjątkiem są teraz subclassable z PIR
- IPv6 jest obecnie obsługiwane i przetestowane
- Funkcja Dodany Parrot_ext_try rozszerzyć API (eksperymentalny), aby umożliwić realizację spróbować .. construcs połowów w rozszerzeniach C.
- Mamy teraz biblioteki YAML nazwie YAML :: Tiny, port YAML :: Tiny z Perl 5
- Ulepszona GC opóźnienia
- Zwiększona wydajność GC w systemach o niskiej pamięci
- Ulepszona packfile adnotacji odnośnika złożoności
- Usuwanie nieużywanego kodu i kodu opartego SVN
Nieaktualne funkcje eksperymentalne są obecnie przechowywane w api.yaml w łatwym do parse formacie, który pozwoli zautomatyzowane narzędzia łatwy dostęp do tych danych. Zastępuje DEPRECATED.pod, który już nie istnieje.
Co nowego w wersji 3.0.0:
- Rdzeń:
- Nowa osadzanie API jest dostępny w & quot; papug / api.h & quot; i udokumentowane w docs / PDD / pdd10_embedding.pod.
- Packfile PMC zostały refactored i mogą być teraz używane do produkcji runnable kodu bajtowego.
- Packfile Kod manipulacji teraz rzuca embedder obsłudze wyjątków, zamiast drukowania szczegóły błędu bezpośrednio do stderr.
- Wsparcie Unicode dla plików IO, zmienne środowiskowe, nazwy programów, a parametry wiersza polecenia został poprawiony.
- an experimental GDB ładne-drukarek w narzędzia / dev dla Parrot struny i PMC jest już dostępna. (Gdb 7.2 lub nowszej i Python są wymagane)
- c2str.pl i pmc2c.pl ulepszenia skutkować zauważalnie szybciej budować.
- Błędy w naszej bibliotece Digest :: SHA256 i związane bitowych dynamicznych ops zostały ustalone GCI studentów Nolan Lum. Zarówno teraz działać poprawnie w systemach 32 i 64 bitowych.
- Społeczność:
- drzewa optymalizacja przez studenta GSoC Tyler L. Curtis dołączył do gniazda, a obecnie mieszka w http://github.com/parrot/tree-optimization.
- Upierzenie obecnie mieszka w http://github.com/parrot/plumage i zainstalowania.
- Boże Narodzenie przebiegała zgodnie z planem. Zespół Parrot nie bierze kredyt na tej imprezie.
- Dokumentacja:
- generowania dokumentacji HTML został przepisany i znacznie uproszczone.
- poprawiły dokumentację w docs / projektu / git_workflow.pod o utrzymanie rozwidlenie parrot.git zsynchronizowane.
- Tłumaczenia naszego README w różnych językach są teraz w katalogu docs / translacja, dzięki Google Code-in studentów.
- Testy:
- Lepszym sposobem napisać & quot; todo & quot; Badania testem Parrot :: Więcej został wdrożony przez GCI studentów Fernando Brito.
- Istotne zwiększenie zakresu badań wielu podstawowych PMC PMC, dynamicznych i dynamicznych opcodes wynikał z GCI i Interpid studentów przyciągał.
- Jonathan & quot; Duke & quot; Leto skonfigurować Debian Linux x86_64 i sparc32 palaczy w GCC kompilacji Farm, która stale przedstawienia sprawozdań dymu z różnych opcji konfiguracyjnych i kompilatorów. Dzięki, GCC!
- sprawdzanie Zależność Makefile jest teraz automatycznie testowane, co skutkuje bardziej niezawodnej budowie równoległej.
- Zakres testy zostały ulepszone dla platform i bez rzecz Rozwoju :: Cover.
Co nowego w wersji 2.11.0:
- just in time frame pokolenie rodzimych połączeń przy użyciu LibFFI.
- PIR op find_codepoint nie jest już eksperymentalna, obecnie obsługiwane.
- Kilka funkcji publicznych w libparrot zostały dostosowane do standardowych konwencji nazewnictwa.
- Lepsza realizacja związana lista-GC.
- set_addr opcode jest zastąpiony nowym set_label opcode w bibliotekach głównych.
- Usunięto przestarzałe CodeString PMC.
- Dodano blisko, is_closed, czytać, metody readline do gniazda.
- Dodano eksperymentalną typu MappedByteArray PMC.
- Dodane Parrot_warn_experimental, aby ostrzec użytkownika o funkcji eksperymentalnych.
- Kod wykonywalnych frontend przeniesiony z src / do frontend /.
- Wsparcie dla pakietowego otrzymasz w bibliotece LWP.
- Dodano & quot; QuickCover & quot; aby cel.
Co nowego w wersji 2.10.0:
- Rdzeń:
- Jesteśmy na github teraz! https://github.com/parrot/parrot
- Konfiguracja, budowy i testowania podsystemy zostały wykonane Git-aware
- Nowy klucz parrot_config 'osvers ", który zawiera informacje dotyczące wersji systemu operacyjnego
- Aktualizacja do najnowszej nqp-RX
- Odpowiedni Wyjątkiem jest teraz rzucony na IO błędy odczytu
- optymalizacje Garbage Collector i poprawki wycieków pamięci
- Nieaktualne ops charset zostały usunięte
- Konfiguracja systemu nauczył się wykrywać IPv6
- Skrypty mk_language_shell i create_language nie zostały jeszcze przeniesione do Git.
- Dokumentacja:
- Jak korzystać z Git pracować nad Parrot
- Git Terminologia
- Testowanie:
- Zwiększona pokrycie na:. String, FixedBooleanArray, PMCProxy, LexPad
- Społeczność:
- DarwinPorts portfile zaktualizowany do 2.6.0
- Pakiet Fedora dla PL / Parrot (postgresql-plparrot) został stworzony Ten pakiet pozwala na pisanie procedur składowanych PostgreSQL w PIR lub Rakudo Perl 6 http://pl.parrot.org
- Parrot Fundacja łączy siły z The Perl Fundacji i biorąc udział w Google Code-in 2010.
Co nowego w wersji 2.9.0:
- Rdzeń:
- papugą i Rakudo Build a testy można teraz uruchomić pod RunCore profilowania
- IPv6 została wykryta, kładąc podwaliny dla przyszłych usprawnień sieciowych
- mk_language_shell.pl i create_language.pl nie wymagają już zainstalowaną papugi
- "reverse" metoda String PMC jest teraz szybsze i obsługuje wszystkie kodowania
- Usprawnienia i uproszczeń w wewnętrznym przetwarzania ciąg
- Dodano API do dodawania Struny do zestawu głównego GC
- Przyspieszenie ord, substr, index i porównania ciąg rozkazy
- Testowanie:
- & quot; aby dym & quot; wspiera badania równoległego poprzez uhonorowanie TEST_JOBS
- Dodano testy dla Socket PMC, StringBuilder PMC, ByteBuffer PMC, mk_language_shell.pl, create_language.pl
- Poprawiono & quot; Configure.pl & quot; o brak testów
- Parrot i Rakudo Perl 6 mają teraz dostęp do GCC kompilacji Farm
- Testy na Darwin / PPC
- Git migracji:
- Większość narzędzi dla programistów zostały przeniesione do Git
- Większość docs deweloperskich zostały napisane dla Git
- Platformy:
- Parrot można teraz zbudowana na Minix
Co nowego w wersji 2.8.0:
- Rdzeń:
- inline mieszaja i porównania
- alokacji pamięci Hash przeniesiony z systemu malloc leniwy przydzielonego
- unikać nieskończone łapanie wyjątków, gdy umierają z wyjątkiem
- Niektóre poprawki svn
- Dodano sprawdzanie duplikatów vtable wpisów PMC
- Budowa Parrot z Perl 5.12 i gcc-4.5 / g ++ - 4.5
- Wyeliminowany cruft pozostały po dynops_mapping
- Poprawiono kodowanie znaków i kodowanie ciąg
- Lepsza organizacja programów przez repozycji go & quot; tools / build & quot; i & quot; Narzędzia / release & quot;
- Wdrożone klon Wyjątek vtable Funkcja
- Dodana funkcja eksperymentalna Parrot_getpid i sposób getpid
- - wiersz poleceń GC-threshold argumentem dodał, który kontroluje% pamięci zmarnowane przez GC
- Zamknięto wiele bilety
- Testowanie:
- Dodano bardziej podstawowe testy PMC
- uporządkowane kilka testów z zakresu C
- Mamy teraz tlić powrotem, w http://smolder.parrot.org. Przedstawienia sprawozdań z & quot; aby dym & quot;
- Realizacja skip_all w próbie Parrot :: Więcej zakończona
- GitMigration:
- Skonfiguruj stronę testową dla github wtyczki trac na http://mksig.org/trac/
- Kod wtyczki Trac na github jest http://github.com/cotto/github-trac
- Parrot jest teraz dublowane na github na http://github.com/parrot/parrot
- Kompilatory:
- Naprawiono problem z IMCC HLL w różnicy między load_bytecode ładowania PBC i kompilowania PIR
Funkcje
Co nowego w wersji 2.7.0:
- Rdzeń:
- porządki w packfile i zamrażania / rozmrażania obchodzenia
- optymalizacje Hash które poprawiają uruchomienie HLL i czasu pracy
- Jak zwykle wiele poprawek i inne optymalizacje
- Czas trwania:
- Niektóre porządki biblioteki wykonawcze
- Testowanie:
- Dodano więcej badań, aby poprawić zasięg
- Nowy Test codingstd dokumentacji w plikach .pmc
- Dokumentacja:
- Dodano dokumentację .pmc plików (niektóre nadal brakuje, ale nagłówki na miejscu)
- Ogólne ulepszenia dokumentacji i wychowywanie bieżąco
- NQP-RX:
- Wersja Aktualizacja zawarte z http://github.com/perl6/nqp-rx zawiera ulepszenia prędkości
Co nowego w wersji 2.5.0:
- Rdzeń:
- Dodane ByteBuffer PMC aby umożliwić bezpośrednią manipulację bajtów
- Zmodyfikowany niektóre funkcje PMC vtable celu zmniejszenia złożoności, upraszczając zasięgu.
- Zmodyfikowany PAST generować stałe symboliczne PASM produkcji PIR.
- Ogólne STRING porządki API
- Zwiększona zakres badań rdzenia PMC
- Stała się "exit" opcode dodał CONTROL_EXIT typu wyjątku.
- Experimental "odwijać" opcode przemianowany na "zakończenie"
- NQP-RX:
- Dodano wsparcie dla prawidłowego Multisubs i multimethods
- Podnośniki Fixed sigspace ** kwantyfikator w regexes
- Dodane & # x5c; ciągi e
- Dodano wykorzystanie list inwersji dla list charclass w regexes
- Platformy:
- EPEL (dodatkowe pakiety dla Enterprise Linux) pakiety dla RHEL6.beta są dostępne.
Co nowego w wersji 1.8.0:
- Funkcjonalność:
- UCHWYTPLIKU PMC teraz naraża kod zakończenia procesu potomnego, który był prowadzony w rurze.
- dodano Eksperymentalne wsparcie dla nadrzędnymi vtable powołać się w obiektach PIR.
- Metoda "typem" został dodany do PackfileAnnotations PMC.
- wewnętrzne z papugą dzwoniącej konwencje PCC zostały przerobione. Wszystkie ścieżki połączeń teraz użyć obiektu CallSignature przekazywania argumenty i zwraca wartości.
- Nowa funkcja API "Parrot_ext_call" została dodana do poddawania w C-ziemi.
- o stałym rozmiarze podzielnik została poprawiona.
- Zainstalowane przez pliki 'make install-dev' są obecnie objęte 'make install', jak również.
- .
- -I opcja polecenia "papuga" teraz wstawia elementy do ścieżki wyszukiwania.
- struct Context został podstawiony atrybutów samochodowych (context_auto_attrs oddział).
- Użyj OSName ustalonej auto :: łuku w kolejnych etapach konfiguracji (convert_OSNAME oddział).
- Wyeliminowany uzależnienie od Perl 5 '% config' w auto :: Format (auto_format_no_Config oddziału).
- MultiSUB PMC teraz stringify do nazwy swojego pierwszego kandydata, zamiast liczby kandydatów.
- Wykrywanie platformy na początku procesu konfiguracji poprawiono.
- 'lineof "metoda na CodeString obiektach teraz precomputes linia informacyjna numer jest bardziej efektywne od zmiennej szerokości zakodowanych ciągów.
- P6object obsługuje teraz .WHO i .gdzie metod na protoobjects.
- Platformy:
- Poprawki do portu papugę rtems zostały zastosowane.
- Na NetBSD, wspólne libs są obecnie używane.
- Wydajność:
- Użyj stałej wielkości w kontekście przydzielania i CallSignature PMC.
- Wiele ulepszeń mała prędkość.
- Dokumentacja:
- Sens 'p' oznacza w NCI funkcyjnych podpisów połączenie zostało wyjaśnione.
- Narzędzia:
- en nowego języka, który został stworzony przez mk_language_shell.pl, obecnie opiera się na narzędziach opartych na PIR, które zastępują narzędzia Perl 5 z siedzibą w.
- Biblioteka Configure.pir został dodany.
- distutils.pir biblioteki został dodany.
OPS eksperymentalne "sprowadzić" i "ożywić" dodano
Co nowego w wersji 1.5.0:
- Rdzeń:
- Usunięto kilka nieaktualne funkcje i cechy
- Usunięto BSR, JSR, branch_cs i ret rozkazy
- Usunięto System stosy globalny
- Zmieniono format pliku OPS zawierać wyraźne preambuły
- zmienił wszystko & quot; nowy "Iterator '& quot; Instrukcje język "ITER instrukcji
- Usunięto opcje Configure.pl dla określania nieprodukcyjnym rdzenie GC
- Usunięto Kod unexecuting stwierdzonych przez Coverity
- Usprawnienia Parrot Debugger
- Dodano eksperymentalną konstrukcję trwale wielkości podzielnik do GC
- Dodano eksperymentalną leniwa alokacja areny do GC
- Usunięto nieistniejącego obiektu PASM1 kompilator
- refactored mieszań, klucze i iteratory
- Dodane & quot; corevm & quot; aby cel zbudowanie Parrot bez wszystkich bibliotek wspierających
- Usunięto typu Losowe PMC i dodane w & quot; rand & quot; dynop
- Optymalizacja i ulepszenia do generatora NCI Thunk
- Nowy obejmują plików libpaths.pasm
- Kompilatory:
- Wiele .local o tej samej nazwie i innego typu jest błąd na IMCC.
- Platformy:
- Ulepszone wsparcie dla wykrywania Fink oraz MacPorts
- Aktualizacja katalogów szukać bibliotek
- Dokumentacja:
- & quot; Parrot Developers Guide: PIR & quot; uwalniane do wydawcy i nabyć
- Poprawiona dokumentacja o Parrot Debugger
- Aktualizacja PGE Dokumentacja
- Różne:
- Dodano testy
- Poprawki do kodu, dokumentacji i norm
Co nowego w wersji 1.4.0:
- Rdzeń:
- Klucz i Iterator Refactor
- Major poprawę pbc_to_exe wygenerowany kod prędkości
- New & quot; Nieskończony pamięci & quot; Rdzeń GC w celach demonstracyjnych
- RunCore gc_debug i pokrewnych GC-poprawki heisenbug
- Eliminacja zmiennej ekspansji w parrot_config
- argumenty CLI są przetwarzane jako Unicode domyślnie
- Znaczne optymalizacje w NCI
- Parrot opiera się na Win64
- Hashe mogą używać rodzimych typów jak klucze i wartości
- Poprawiono zainstalowany pbc_to_exe
- Uproszczenie kodu PMC generacji
- Ulepszona hermetyzacja GC i dokumentacja API
- Dokumentacja:
- Lista kandydatów do osadzania API (docs / embed.pod)
- PIR książki wysyłane do wydawcy
- Testowanie:
- Kilka konwersje testu Perl czystej PIR.
- normy C wcięcia kodowania
- Poprawiono zasięg test przykładowy kod
- Deprecations:
- Usuwanie reguł PGE: & # x3c zerowym # X3E; & # X3c; nie & # X3E; & # X3c; sp & # X3E; & # X3c; lt & # X3E; & # X3c; gt & # X3E; & # X3c; kropka & # X3E;
- Usuwanie metod PGE: .text .Item .result_object
- Wycofanie większości dynops
- Różne:
- Początki biblioteki OpenGL :: Math; Wiązania biblioteki OpenGL i oznaczone jako eksperymentalne
- lokalizowania i consting poprawki
- Wiele pamięci i przecieki związane nić podłączony
Poprawa testu
Komentarze nie znaleziono