Parrot byl původně vyvinut pro podporu rozvinutá pobočky 6.x Perl, ale rozšířila do širokého projektu, který poskytuje virtuální stroj, který podporuje více programovacích jazyků, sestavování kód z jednoho jazyka do druhého.
To umožňuje vývojářům kompilovat a spustit bytecode z jednoho jazyka do jiného jazyka.
Jazyky v současné době cílí na papouška VM:
Rakudo Perl 6
Lua
Winxed
Tcl
JavaScript
Ruby
Systém
PHP
Python
APL
.NET jazyky
Co je nového v této verzi:
- Pevné okna propojit regresi od 7,0 0,2 s cl.exe.
- Pevná běhovými limity kompilace pro OpenBSD.
- Uvolněná zátěžový test společné GC a znovu přidat variantu JSON.nqp.
Co je nového ve verzi 7.3.0 / 7.5.0-dev:
- Pevné okna propojit regrese od 7.0.2 s cl.exe.
- Pevná běhovými limity kompilace pro OpenBSD.
- Uvolněná zátěžový test společné GC a znovu přidat variantu JSON.nqp.
Co je nového ve verzi 7.3.0 / 7.4.0-dev:
- Pevné okna propojit regrese od 7.0.2 s cl.exe.
- Pevná běhovými limity kompilace pro OpenBSD.
- Uvolněná zátěžový test společné GC a znovu přidat variantu JSON.nqp.
Co je nového ve verzi 7.3.0:
- Pevné okna propojit regrese z 7.0.2 s cl .exe.
- Pevná běhovými limity kompilace pro OpenBSD.
- Uvolněná zátěžový test společné GC a znovu přidat variantu JSON.nqp.
Co je nového ve verzi 7.0.2 / 7.1.0-dev:
- přidal experimentální INTERPINFO_MAX_GENERATIONS api, vyrobený MAX_GENERATIONS --ccflags nastavitelné, přejmenován na GC_MAX_GENERATIONS, a používat správné číslo.
- Přidána zastaralé atribut ke všem zastaralých funkcí.
- Pevné analyzátor pády zjištěné amerického Fuzzy prořezat.
- Nahrazeno konec op uvnitř PCC metod pomocí returncc op.
- Finish PackFile_ API odsuzování a refactoring. Žádné špatné vývoz už ne.
- reenabled následujících podpisy NCI: t (CString), 2 (Integer PMC - & # x3e, krátké),
- 3 (- & # x3e, int), 4 (- & # x3e, dlouhá). SDL a Kletby je nyní opět použitelné.
- Přidal užitečné podmnožinu statických NCI thunks na core-thunks.
- Aktualizováno dodatečné thunks předat většinu NCI příklady, aniž by libffi, jen
- 2, 3 a 4 vyžadují libffi jsou-li použity destruktivně na Integer PMC.
- Pevná pár blokování ResizablePMCArray (& quot; RPA & quot;). Sestřihu regresí ze 6,10, což zlomil perl6
- přidané volitelné varování RPA sestřih jako v PERL5, když předimenzované offset je nastaven.
- Pevná GC regrese od 6.11 s ResizablePMCArray # 1159 (1,2% pomalejší).
- Skip spouštění výstrahy & quot; Neznámý kódovou sadu `", a neplatící ASCII & quot; Při nl_langinfo () se nezdařila, a tiše používat ASCII.
Co je nového ve verzi 6.9.0:
- Povolit & # x3e, 2GB RAM na Darwin také .
- Oprava havárie s papouškem -d8 DEBUG_IMC dump_instructions
- Fix šířka sprintf pro unicode řetězce.
- šířka Fix sprintf pro NaN / INF / -INF
- Optimalizovat utf8_substr. Nepoužívejte pomalý utf8 iterátor.
- regenerované a fixovány iso_8859_1_typetable. Přidáno & # x5c, x2028, & # x5c, x2029 a & # x5c, v., Aby být cclass řádkem
- Chránit callmethod z prázdného objektu, minul fixup_subs okamžitých.
- Přidat Couroutine reset a metody reset.
- Přidat -t8 příznak trasování pro Coroutine států
- invalidy příznaky trasování -T4 a -t8 s --optimize.
- sladit zprávy využití papoušek
počítat
Co je nového ve verzi 6.6.0:
- Optimalizované volání metody režie při kompilaci-time v pmc2c přímo, aby se zabránilo run-time režii. Méně temp. PMC je, méně větví a vyhnout se alespoň 2 nákladných funkce C za volání metody.
- New arita varování & quot; špatný počet argumentů:% d prošel, očekává% d & quot; .
Co je nového ve verzi 6.3.0:
- Nové výsledky benchmarků
- Pevné testy na Cygwin a cygwin64
- Přidány 2 nové příklady / měřítka / files a referenční / run.sh
Co je nového ve verzi 5.9.0:
- Nenechte si stěžují na utf8 vícebajtové znaky, rozdělené podle hranici dvou bloků.
- Pevná readall SEGV EOF, např. Při volání readall dvakrát.
- Pevná SEGV když .CONST nebyl nalezen.
- z přidané PackfileView kompatibilní metody pro EvalPMC.
Co je nového ve verzi 5.0.0:
- Toto je první stabilní verze Parrot se závitem podpora (přes pracovní PMC).
Co je nového ve verzi 4.10.0:
- z přidané PMCNULL zkontrolovat result_info op
- Pevná záznam oddělovač chyba na IO zpracovává.
Co je nového ve verzi 4.9.0:
- Zachovat kódování informací v IMCC optimalizátor, který fixuje concat op ale pravděpodobně mnoho dalších případů s ne-ASCII kódovaný konstantní řetězce.
- Pevná ByteBuffer set_string_native, který se stal synchronizován s dvěma vnitřními nárazníky.
- předpětí Konfigurace kroky při volání s perl -d Configure.pl.
- Strip nepotřebné Konfigurační klíče od nainstalovaným konfiguračním hash. Šetří 6360 bajtů z každého instalovaného spustitelný soubor.
- Parrot_get_cpu_type vrací se nyní & quot; neznámý & quot; pro všechny neznámé typy CPU. Na non-windows se vrátila před 4.9.0 nulový řetězec.
Co je nového ve verzi 4.7.0:
- Přidané .all_tags () a .all_tagged_pmcs () metody k PackfileView PMC.
- Několik budovat a standardů kódování opravy.
Co je nového ve verzi 4.5.0:
- Přidány .write_bytes a .read_bytes metody pro filehandle a Socket PMCs.
- Přidaný Parrot_api_set_stdhandle, Parrot_api_new_call_object a Parrot_api_setup_signature funkce na vkládání API.
- Odebráno & quot; může & quot; VTable.
Co je nového ve verzi 4.1.0:
- Sdílené knihovny a instalovatelné binární soubory jsou nyní odstraněny, pokud postavený s --optimize na Cygwin, což výrazně snižuje jejich velikost na disku.
- Nové experimentální PCC související ops přidán do morku kostí.
Co je nového ve verzi 4.0.0:
- Jádro:
- Několik pročištění API interp subsystému
- pročištění a dokumentační přísady pro zelené závity a časovače
- Iterátor PMC a rodina nyní realizovat & quot; iterátor & quot; Role
- Chyba v Parrot_ext_try byla opravena, kde to nebylo správně objevovat kontext
- Dokumentace:
- Dokumenty pro všechny verze Parrot někdy povolený jsou nyní k dispozici na http://parrot.github.com
- Testy:
- Časovač PMC testy byly převedeny z PASM do PIR
Co je nového ve verzi 3.10.0:
- Značka VTable byla přidána do Select PMC
- Parrot :: Vložte Perl 5 modul byl odstraněn z parrot.git a nyní žije v https://github.com/parrot/parrot-embed
- Způsob set_random byl přidán na celé číslo PMC, takže může být náhodná čísla generuje aniž by bylo třeba zavést matematické dynops
- Nová realizace zelených nití byla přidána do Parrot, v rámci přípravy na robustního hybridního systému závitů. Zelené závity jsou v současné době nejsou k dispozici v systému Windows.
Co je nového ve verzi 3.9.0:
- Jádro:
- Pobočka whiteknight / kill_threads byla sloučena, který odstraňuje staré a rozbité implementaci závit / souběžnosti. Lepší a pružnější souběžnosti primitiva jsou v současné době pracuje. To také podílí odstranění některé z posledních pozůstatků assembleru Parrot, stejně jako odstranění sdílet a share_ro vtables.
- random_lib.pir byla odstraněna, protože již existují lepší alternativy
- zmrazit a rozmrazit vtables byly odstraněny z výchozí PMC, protože oni nebyli užitečné a způsobil těžko najít chyby.
- Byla přidána nová podprogram profilování runcore. To může být aktivován pomocí příkazového řádku argument -R subprof. Výsledná data mohou být analyzována s KCachegrind.
- z přidané get_string VTable na FixedIntegerArray a FixedFloatArray PMC
- Metoda update () byla přidána k Hash PMC, který aktualizuje jedno Hash s obsahem jiného. Tím se zrychluje čas rakudo / spuštění nqp.
- Jazyky:
- Aktualizováno snímek na verzi 1.3.0
- Přidáno vestavěný spánku
- modifikátor "multi" umožňuje některé další funkce multi
- Community:
- New repo pro Parrot alternativní kompilátoru Toolkit, re-implementace PCT v Winxed: https://github.com/parrot/PACT
- Dokumentace:
- Jsme v procesu přechodu naší Trac wiki na http://trac.parrot.org/ na GitHub na https://github.com/parrot/parrot/wiki
- Packfile PMC dokumentace byla aktualizována
- Testy:
- Vyberte PMC testy zlepšil přenést na jiných platformách než Linuxy
Co je nového ve verzi 3.6.0:
- Jádro:
- Class.add_vtable_override nyní umožňuje přepsat přepis
- Celá čísla, plováky a řetězce mohou být nyní uloženy v lexikálních proměnných. Předtím, tak PMCs by mohla být uložena v lexicals.
- VTABLE_substr byla odstraněna. VTABLE_substr_str byl přejmenován na VTABLE_substr
- Přidán nový typ PackfileView PMC, zamýšlené nahrazení zastaralých Eval PMC.
- is_integer vtable na provázku PMC nyní funguje pro všechny řetězcových kódování.
- Unicode chybové hlášení na Win32 nyní pracují správně.
- nevracení paměti v IMCC byla opravena.
- Jazyky:
- snaphost z Winxed součástí Parrot byl aktualizován na verzi 1.0.0
- Winxed přejde na GitHub: https://github.com/NotFound/winxed
Co je nového ve verzi 3.5.0:
- Jádro:
- Parrot_PMC_destroy, Parrot_PMC_mark a Parrot_PMC_invoke byly odstraněny z veřejného rozšíření API.
- minulosti teď typy PAST :: stmt uzlu, podporuje opakovaně použitelné dočasné registrů.
- test pokrytí vkládání a prodloužení rozhraní je nyní alespoň 95%.
- Shrnutí Winxed je nyní součástí Parrot jádra s cílem usnadnit psaní jádro Parrot nástroje z vyšší úrovně jazyce než PIR.
- Jazyky:
- Lepší kompilaci časový rozsah vyhledávání.
- Added "using namespace" prohlášení.
- kompilátoru tříd a funkce dnes žijí v Winxed;. Překladačů jmenném prostoru
- Testy:
- Parrot testovací sada postroj nyní chápe proměnnou prostředí HARNESS_TIMER. Nastavením na hodnotu true se zobrazí výsledky načasováním pro zkušební provoz.
- Testy IPv6 jsou nyní paralelní vyšetření příjemný.
Co je nového ve verzi 3.4.0:
- Jádro:
- Generační Mark a Sweep garbage collector je nová výchozí.
- byl přidán Argument příkazového řádku --gc-školka velikosti.
- Parrot nyní dostane entropii z podkladové operačního systému.
- NCI subsystém nyní podporuje 8, 16, 32 a 64 bit celé číslo.
- NCI subsystém nyní podporuje & quot; long & quot; a & quot; dlouho double & quot; podpisy. Ne všechny platformy / překladače podporu těchto nestandardních typů, takže vývojáři se brát v úvahu, že jejich použití snižuje přenositelnost.
- Mnoho více OpenGL funkce v vázáním Parrot OpenGL jsou k dispozici, které si vyžádalo výše uvedené podpisy.
- byteCode související vkládání API funkce přesunuty do src / vložit / bytecode.c.
- Jazyky:
- Použít "s použitím extern" pro dovoz modulů.
- Lepší stupeň 0 prefix ++ a -. Provozovatelé
- Povolit "null" v podmíněném operátora.
- Několik příkladů jsou aktualizovány.
- Community:
- Google Summer of Code Bonding období je v pořádku. Studenti jsou většinou provádí se svými třídami a ještě mnohem kód bude brzy proudit.
- Documentation
- Další PCT úvody jsou k dispozici na adrese:. Http://github.com/benabik/cish
Co je nového ve verzi 3.3.0:
- Jádro:
- ISA a isa_pmc vtables lze nyní přepsána z PIR
- IMCC má nový vylepšený externí rozhraní
- Nový IMCCompiler PMC přidává prototyp PDD31-obdobné funkce pro PIR a PASM kompilátory
- New --with-LLVM možnost Configure.pl, který bude odkazovat na LLVM pokud je k dispozici
- Community:
- Parrot Virtual Machine byl přijat do Google Summer of Code 2011
- Ekosystém:
- Rosella dodává stabilní & quot; Event & quot; knihovna realizovat publikování / odběr mechanismus
- Testy:
- Test pokrytí extend_vtable subsystému byla výrazně zvýšena
Co je nového ve verzi 3.2.0:
- Plná podpora pro Unicode názvy souborů v systémech Linux a Win32.
- možnost konfigurace --cxx je pryč.
- New Generační GC realizován. Aby mohla spustit Configure.pl --gc = gramů.
- Nyní op definice jsou sémanticky analyzován. To otevírá možnosti pro budoucí optimalizací papouška jádra.
- Prohlášení převést ".param" PIR systax.
- A PMC je implementována pro low-level nárazníkové přístup, které oddělují reprezentaci z ukazatelů.
- Podpora přidán pro 'dlouho double "," long ", a 64-bit ke StructView.
- V math.h jsou dostupné nástroje pro INF / Nan.
- Signature PMCs jsou používány pervasively.
Co je nového ve verzi 3.1.0:
- Výjimka PMCs jsou nyní subclassable z PIR
- IPv6 je nyní podporována a testovány
- Funkce přidané Parrot_ext_try rozšířit API (experimentální), umožňující provádění pokusu .. construcs odlovu v nástavbách C.
- V současné době máme k dispozici knihovna YAML s názvem YAML :: Tiny, do přístavu YAML :: Tiny od Perl 5
- Zastaralé / experimentální funkce jsou nyní uloženy v api.yaml v snadný-k-parse formátu, což umožní automatizované nástroje pro snadný přístup k těmto datům. Nahrazuje DEPRECATED.pod, která již neexistuje.
- Lepší GC latence
- Lepší výkon GC nízko pamětí
- Lepší packfile anotace vyhledávání složitost
- Odstranění nevyužitých kódu a kódu založeného SVN
Co je nového ve verzi 3.0.0:
- Jádro:
- Nový vkládání API je k dispozici v & quot; papouška / api.h & quot; a zdokumentovány v docs / PAS / pdd10_embedding.pod.
- Packfile PMCs byly refactored a nyní mohou být použity k výrobě spustitelné bytový kód.
- Packfile manipulace kód nyní vrhá Embedder-friendly výjimky spíše než tisk podrobnosti o chybě přímo na stderr.
- Podpora Unicode pro soubor IO, proměnné prostředí, názvy programů, a parametry příkazového řádku.
- Experimentální gdb Pretty-tiskárny v tools / dev pro Parrot řetězcích a PMC je nyní k dispozici. (Gdb 7.2 nebo novější a Python jsou povinné)
- c2str.pl a pmc2c.pl vylepšení mít za následek znatelně rychleji stavět.
- Chyby v našem Digest :: sha256 knihovnou a bitových související s dynamickými ops byly stanoveny GCI studenta Nolan Lum. Oba nyní pracují správně na 32 a 64 bitové systémy.
- Community:
- strom optimalizace by GSoC studenta Tyler L. Curtis vstoupil do hnízda a nyní žije v http://github.com/parrot/tree-optimization.
- Peří nyní žije v http://github.com/parrot/plumage a nainstalovat.
- Vánoční postupoval podle plánu. Tým Parrot nebere úvěr na tuto akci.
- Dokumentace:
- generování HTML dokumentace byl přepsán a značně zjednodušena.
- Zlepšili jsme dokumentaci v docs / projektu / git_workflow.pod o udržení vidličky parrot.git v synchronizaci.
- Překlady naší README v různých jazycích jsou nyní v docs / translace adresáře, díky Google Code-in studenty.
- Testy:
- Lepší způsob, jak psát & quot; todo & quot; Testy s testovacím Parrot :: Další byl realizován GCI studenta Fernando Brito.
- Významné nárůsty test pokrytí mnoha klíčových PMC, dynamické PMC a dynamických opcodes vyplývala z GCI a Interpid studenti to přitahovalo.
- Jonathan & quot; Duke & quot; Leto nastavit Debian Linux x86_64 a sparc32 kuřáci v GCC kompilace farma, která je neustále předkládat zprávy kouře s řadou možností konfigurace a překladačů. Díky, GCC!
- kontrola Makefile závislost je nyní automaticky testován, což vede k větší spolehlivosti paralelní verzi.
- Pokrytí testy byly zlepšeny pro platformy s nebo bez Devel :: krytem.
byla zlepšena
Co je nového ve verzi 2.11.0:
- Just In Time generace nativní volání rámu pomocí LibFFI.
- PIR op find_codepoint již není experimentální, to je nyní podporován.
- Některé veřejné funkce v libparrot byli vychováni ke standardním jmenovat konvence.
- Lepší implementace souvisí-list v GC.
- set_addr operační kód je nahrazen novým set_label opcode v hlavních knihovnách.
- Odstraněno zastaralé CodeString PMC.
- Přidal blízko, is_closed, číst, readline metody k zásuvce.
- Přidána experimentální typ MappedByteArray PMC.
- Přidáno Parrot_warn_experimental, varovat uživatele o experimentálních funkcí.
- Kód pro frontend spustitelné soubory přesunuty z src / do frontendu /.
- Podpora blokového obdrží v LWP knihovny.
- Přidán & quot; QuickCover & quot; aby cíl.
Co je nového ve verzi 2.10.0:
- Jádro:
- Jsme na github teď! https://github.com/parrot/parrot
- Configure, byly vyrobeny stavět a zkušební subsystémy Git-aware
- New parrot_config klíčové 'osvers ", která obsahuje informace o verzi operačního systému
- aktualizován na nejnovější nqp-rx
- Správné Výjimkou je nyní hozen na IO chyb čtení
- garbage collector optimalizace a únik paměti opravy
- Prekonané charset ops byly odstraněny
- Konfigurace systému se naučil rozpoznat IPv6
- mk_language_shell a create_language skripty dosud nebyly portovány do Gitu.
- Dokumentace:
- Jak používat Git pracovat na Parrot
- Git Terminologie
- Testování:
- Zvýšené pokrytí na:. Provázku, FixedBooleanArray, PMCProxy, LexPad
- Community:
- MacPorts portfile aktualizován na 2.6.0
- Balíček Fedora pro PL / Parrot (postgresql-plparrot) byl vytvořen Tento balíček umožňuje psát uložené procedury pro PostgreSQL v PIR nebo Rakudo Perl 6 http://pl.parrot.org
- Parrot Foundation se spojí s The Perl Foundation a účasti na webu Google Code-V 2010.
Co je nového ve verzi 2.9.0:
- Jádro:
- papouška a Rakudo jeho sestavení a testy mohou být nyní spuštěna pod profilování runcore
- IPv6 je nyní detekována, položit základy pro budoucí zlepšení sítě
- mk_language_shell.pl a create_language.pl již nevyžadují instalovaný papouška
- String PMC je "reverzní" metoda je nyní rychlejší a podporuje všechna kódování
- Zlepšení a zjednodušení vnitřního zpracování řetězec
- Přidána API pro přidávání strun do kořenového GC set
- Zrychlete ord, substr, index a srovnávání řetězec opcodes
- Testování:
- & quot; aby kouř & quot; Podporuje paralelní testování podle ctít TEST_JOBS
- Přidány testy pro Socket PMC, StringBuilder PMC, ByteBuffer PMC, mk_language_shell.pl, create_language.pl
- Pevná & quot; Configure.pl & quot; o chybějící testy
- Parrot a Rakudo Perl 6 mají nyní přístup k GCC kompilace Farm
- Zkoušky na Darwin / PPC
- Git Migrace:
- Většina vývojářské nástroje bylo přeneseno do Gitu
- Většina developerských dokumenty byly napsány pro Git
- Plošina:
- Parrot mohou být nyní postaven na Minix
Co je nového ve verzi 2.8.0:
- Jádro:
- inline hash funkce a srovnávání
- přidělení Hash paměť přesunuta ze systémových malloc líní přidělenou
- vyvarovat nekonečný lov výjimek, zatímco úmrtí na výjimky
- Některé svn opravy
- Přidána šek na duplicitní VTable záznamů v PMC
- Stavební Parrot s Perl 5.12 a gcc-4.5 / g ++ - 4,5
- vypadl Cruft zbude po dynops_mapping
- Lepší charset a kódovací řetězec
- Lepší organizace programů repozici to & quot; Nástroje / build & quot; a & quot; Nástroje / release a quot;
- Realizuje Výjimka klon vtable funkce
- Přidána experimentální funkce Parrot_getpid a getpid metoda
- - příkazový řádek GC-práh argument, dodal, který ovládá% paměti plýtvání podle GC
- Uzavřené hodně jízdenek
- Testování:
- přidal více jádrových PMC testy
- přepracovala některé testy s pokrytím C
- V současné době máme doutnat zpátky na http://smolder.parrot.org. Předkládat zprávy s & quot; aby kouř & quot;
- implementace skip_all v testu Parrot :: Více dokončeno
- GitMigration:
- Nastavení testovací místo pro GitHub trac plugin při http://mksig.org/trac/
- Kodex Trac plugin v github je http://github.com/cotto/github-trac
- Parrot je nyní zrcadlena na github na http://github.com/parrot/parrot
- překladače:
- Oprava problému s IMCC HLL v load_bytecode rozdíl mezi načtením PBC a sestavování PIR
Co je nového ve verzi 2.7.0:
- Jádro:
- pročištění v packfile a zmrazování / rozmrazování manipulační
- Hash optimalizace, které zlepšují spuštění HLL a doba chodu
- Jako vždy, mnoho chyb a další optimalizace
- Runtime:
- Některé runtime knihovna pročištění
- Testování:
- Přidal další testy s cílem zlepšit pokrytí
- New Test codingstd pro dokumentaci v .pmc souborů
- Dokumentace:
- Přidána dokumentace .pmc souborů (někteří ještě chybí, ale hlavičky na místě)
- Obecné vylepšení dokumentace a přinést up-to-date
- NQP-rx:
- Aktualizovaná verze zahrnuty od http://github.com/perl6/nqp-rx zahrnuje zvýšení rychlosti
Co je nového ve verzi 2.5.0:
- Jádro:
- z přidané ByteBuffer PMC umožňující přímou manipulaci byte
- Modifikovaná některé VTable funkce PMC snížit složitost, což zjednodušuje pokrytí.
- Modifikovaný PAST generovat symbolické PASM konstanty v PIR výstup.
- General STRING API vyčištění
- Zvýšené pokrytí test jádra PMC
- Pevná up "exit" opcode, dodal CONTROL_EXIT typ výjimky.
- experimentální 'odvinout "opcode přejmenován na" dokončit "
- NQP-rx:
- Přidána podpora pro řádné multisubs a multimethods
- Opraveno zpracování sigspace ** quantifier v regexes
- z přidané & # x5c E struny
- Přidána použití seznamů inverze pro seznamy charclass v regexes
- Plošina:
- EPEL (Extra Balíky pro Enterprise Linux) balíčky pro RHEL6.beta jsou k dispozici.
Co je nového ve verzi 1.8.0:
- Funkce:
- filehandle PMC nyní vystavuje kód ukončení dětské procesu, který byl spuštěn jako potrubí.
- byla přidána experimentální podpora pro naléhavé VTable vyvolat v objektech PIR.
- "typ" metoda byla přidána do PackfileAnnotations PMC.
- vnitřní části papouška volající konvence, PCC, byly přepracovány. Všechny cesty volání nyní používají objekt CallSignature pro předávání argumenty a návratové hodnoty.
- Nové API-funkce "Parrot_ext_call" byla přidána za volání do C-země.
- pevné velikosti allocator byla zlepšena.
- Soubory instalované 'make install-dev' se nyní vztahuje 'make install' stejně.
- .
- -i do příkazového "papoušek" Nyní předřadí položky na cestě pro vyhledávání.
- Kontext struct byl nahrazen atributy auto (context_auto_attrs pobočka).
- Použijte OSNAME stanovenou v automatickém :: oblouku v následných krocích konfigurace (convert_OSNAME pobočku).
- vypadl závislost na Perl 5 '% Config "v auto :: formátu (pobočka auto_format_no_Config).
- MultiSub PMCs nyní stringify ke jménu svého prvního kandidáta, namísto počtu kandidátů.
- se zlepšila Detekční plošina na začátku procesu konfigurace.
- 'lineof "metoda na objektech CodeString nyní precomputes line informace číslo být účinnější na variabilní šířkou kódovaných řetězce.
- P6object nyní podporuje .WHO a .WHERE metody na protoobjects.
- Plošina:
- byly aplikovány Opravy přístavu papouška RTEMS.
- Na NetBSD, sdílené libs jsou nyní používány.
- Výkon:
- Použít pevné velikosti alokátor v kontextu a CallSignature PMC.
- Mnoho zlepšení malá rychlost.
- Dokumentace:
- Význam "p" znamená v NCI funkčních podpisy volání bylo vyjasnit.
- Nástroje:
- útržek pro nový jazyk, jak byl vytvořen podle mk_language_shell.pl, nyní spoléhá na PIR založených nástrojů, které se nahrazují nástroje Perl 5 založené na základě.
- Přidá se knihovna Configure.pir.
- Přidá se knihovna distutils.pir.
Experimentální ops "zaběhnout" a "oživují" byly přidány
Co je nového ve verzi 1.5.0:
- Jádro:
- Odebráno několik zastaralé funkce a vlastnosti
- Odebráno BSR, JSR, branch_cs, a RET opcodes
- Odebráno globální systém stohy
- změna OPS soubor ve formátu zahrnout explicitní úvodní část
- všechno změnil & quot; nová "Iterator '& quot; pokyny do projekt ITER, pokyny
- Odstraněné možnosti Configure.pl pro určení nepracující jádra GC
- Odebráno unexecuting kód, jak bylo zjištěno pomocí Coverity
- Vylepšení Parrot debuggeru
- Přidána experimentální pevné velikosti konstrukce alokátor GC
- Přidána experimentální líní příděl arena GC
- Odstraněna zaniklý PASM1 kompilátor objekt
- refactored hash, klíče a iterátory
- z přidané & quot; corevm & quot; aby cíl vybudovat Parrot bez všech podpůrných knihoven
- Odebráno typ Random PMC a přidal do & quot; Rand & quot; dynop
- Optimalizace a vylepšení pro NCI thunk generátoru
- New zahrnovat soubor libpaths.pasm
- překladače:
- Multiple .local se stejným názvem a jiného typu je nyní k chybě na IMCC.
- Plošina:
- Vylepšená podpora pro detekci Fink a MacPorts
- Aktualizované vyhledávání adresáře pro knihovny
- Dokumentace:
- & quot; Parrot Developers Guide: PIR & quot; propuštěn na vydavatele a je k dispozici ke koupi
- Lepší dokumentace o Parrot debuggeru
- Aktualizace PGE Dokumentace
- Různé:
- Přidány testy
- Opravy kódu, dokumentace a standardy
Co je nového ve verzi 1.4.0:
- Jádro:
- Key a Iterátor refactor
- Podstatné zlepšení pbc_to_exe generovaný rychlost code
- New & quot; Infinite Memory & quot; GC jádro pro demonstrační účely
- gc_debug runcore a GC související heisenbug opravy
- Eliminace proměnné expanze v parrot_config
- CLI argumenty jsou zpracovány jako Unicode ve výchozím nastavení
- Podstatné optimalizace v NCI
- Parrot navazuje na Win64
- Hashes mohou používat nativní typy jako klíče a hodnoty
- Pevná nainstalován pbc_to_exe
- Zjednodušení PMC generování kódu
- Lepší GC zapouzdření a dokumentace API
- Dokumentace:
- Seznam kandidátů pro vkládání API (docs / embed.pod)
- PIR kniha poslal vydavateli
- Testování:
- Několik konverze Perl testu na čistě PIR.
- C odsazení standardy kódování testovací
- Lepší pokrytí test z příkladu kódu
- Deprecations:
- Odstranění pravidel PGE: & # x3c; null & # x3e; & # X3c; selhat & # x3e; & # X3c, sp & # x3e; & # X3c; lt & # x3e; & # X3c; gt & # x3e; & # X3c; dot & # x3e;
- Odstranění PGE metod: .text .item .result_object
- Odmítání většiny dynops
- Různé:
- Počátky OpenGL :: knihovny Math; OpenGL vázání a knihovna označena experimentální
- Lokalizace a opravy consting
- Mnoho paměti a úniky závit související zapojen
Zlepšení
Komentáře nebyl nalezen