Parrot foi inicialmente desenvolvido para apoiar o desenvolvimento do ramo 6.x do Perl, mas expandiu-se em um amplo projeto que fornece uma máquina virtual que suporta várias linguagens de programação, o código de compilação de uma língua para a outra.
Isso permite que os desenvolvedores para compilar e depois executar bytecode de uma língua para outra língua.
Línguas atualmente apontando o papagaio VM:
Rakudo Perl 6
Lua
Winxed
Tcl
JavaScript
Rubi
Esquema
PHP
Python
APL
.NET idiomas
O que é novo nesta versão:
- janelas fixas ligar regressão de 7,0 .2 com cl.exe.
- compilação rlimit fixo para OpenBSD.
- Descontraído o teste de esforço comum GC e adicionar novamente a variante JSON.nqp.
O que é novo na versão 7.3.0 / 7.5.0-dev:
- janelas fixas ligar regressão a partir de 7.0.2 com cl.exe.
- compilação rlimit fixo para OpenBSD.
- Descontraído o teste de esforço comum GC e adicionar novamente a variante JSON.nqp.
O que é novo na versão 7.3.0 / 7.4.0-dev:
- janelas fixas ligar regressão a partir de 7.0.2 com cl.exe.
- compilação rlimit fixo para OpenBSD.
- Descontraído o teste de esforço comum GC e adicionar novamente a variante JSON.nqp.
O que é novo na versão 7.3.0:
- janelas fixas ligar regressão do 7.0.2 com cl .exe.
- compilação rlimit fixo para OpenBSD.
- Descontraído o teste de esforço comum GC e adicionar novamente a variante JSON.nqp.
O que é novo na versão 7.0.2 / 7.1.0-dev:
- Adicionado um INTERPINFO_MAX_GENERATIONS experimentais api, feitas MAX_GENERATIONS --ccflags ajustável, renomeado para GC_MAX_GENERATIONS, e usar o número correto.
- Adicionado o atributo DEPRECADO a todas as funções obsoletas.
- falhas analisador fixos detectados pelo lop distorcido americano.
- Substituído um op final dentro de métodos pcc por um op returncc.
- Finish PackFile_ depreciação API e refatoração. anymore Não exportações erradas.
- reabilitada as seguintes assinaturas de NCI: t (cstring), 2 (Integer PMC - & # x3e; short),
- 3 (- & # x3e; int), 4 (- & # x3e; de comprimento). SDL e Maldições agora é utilizável novamente.
- Adicionado um subconjunto útil de thunks NCI estáticos para core de thunks.
- Atualizado os thunks extras para passar exemplos mais NCI sem libffi, apenas
- 2, 3 e 4 exigem libffi quando está sendo usado destrutivamente na Integer PMC.
- Corrigido um par de bloqueio ResizablePMCArray (& quot; RPA & quot;). Regressões de emenda de 6,10, o que quebrou perl6
- Adicionado um aviso RPA emenda opcional como no perl5, quando um deslocamento overlarge é ajustado.
- Fixed uma regressão GC de 6,11 com ResizablePMCArray # 1159 (1,2% mais lento).
- Ir avisos de inicialização & quot; codeset Desconhecido ` ', padronizando para ASCII & quot; quando nl_langinfo () falhou, e silenciosamente usar ASCII.
O que é novo na versão 6.9.0:
- Activar & # x3e; RAM de 2 GB em darwin também .
- acidente Fix com o papagaio -d8 dump_instructions DEBUG_IMC
- Fix largura sprintf contar para strings unicode.
- largura Fix sprintf para NaN / Inf / -Inf
- Otimizar utf8_substr. Não use o iterador utf8 lento.
- regenerada e fixou o iso_8859_1_typetable. Adicionado & # x5C; x2028, & # x5C; x2029 e & # x5C;. V a ser de nova linha cclass
- Proteja callmethod de um objeto vazio, perdeu por fixup_subs imediatos.
- Adicionar Couroutine redefinir e métodos de auto-rearme.
- Adicione o sinalizador de rastreamento -t8 para os estados co-rotina
- sinalizadores de rastreamento pessoas com mobilidade -T4 e -t8 com --optimize.
- Harmonizar as mensagens de uso papagaio
O que é novo na versão 6.6.0:
- Optimized sobrecarga chamada de método em tempo de compilação em pmc2c diretamente para evitar a sobrecarga de tempo de execução. Menos temporário. PMC de, menos galhos e evitando pelo menos 2 funções C caros por chamada de método.
- New aviso arity & quot; número errado de argumentos:% d passou,% d esperado & quot; .
O que é novo na versão 6.3.0:
- Novos resultados de benchmark
- testes fixas para cygwin e cygwin64
- Adicionado 2 novas exemplos / benchmarks / arquivos e valores de referência / run.sh
O que é novo na versão 5.9.0:
- Não se queixe de caracteres utf8 vários bytes divididos por limites do pedaço.
- Fixed SEGV ReadAll em EOF, por exemplo, ao chamar ReadAll duas vezes.
- Fixed SEGV quando .const não foi encontrado.
- métodos Adicionado PackfileView compatíveis com a EvalPMC.
O que é novo na versão 5.0.0:
- Esta é a primeira versão estável do papagaio com rosca apoio (por meio do PMC Task).
O que é novo na versão 4.10.0:
- Adicionado PMCNULL verificar para result_info op
- registro fixo separador de bug no IO lida.
O que é novo na versão 4.9.0:
- Mantenha codificar informação no otimizador IMCC, que corrige o op concat mas provavelmente muitos mais casos com os não-ascii codificado strings constantes.
- Fixed set_string_native ByteBuffer, que se tornou fora de sincronia com dois buffers internos.
- Preload Configurar passos quando chamado com perl -d Configure.pl.
- Faixa de chaves de configuração desnecessários de hash de configuração instalada. Salva 6360 bytes de cada arquivo executável instalado.
- Parrot_get_cpu_type retorna agora & quot; desconhecido & quot; para todos os tipos de CPU desconhecidos. Em não-Windows retornou antes 4.9.0 uma cadeia nula.
O que é novo na versão 4.7.0:
- .all_tags Adicionado () e .all_tagged_pmcs () métodos para PackfileView PMC.
- Vários construção e padrões de codificação correções.
O que é novo na versão 4.5.0:
- .write_bytes adicionado e .read_bytes métodos para FileHandle e PMCs soquete.
- Adicionado Parrot_api_set_stdhandle, funções Parrot_api_new_call_object e Parrot_api_setup_signature para a API incorporação.
- Removido o & quot; pode & quot; VTABLE.
O que é novo na versão 4.1.0:
- As bibliotecas compartilhadas e binários instaláveis estão agora despojado se construiu com --optimize em Cygwin, o que reduz seu tamanho no disco.
- New ops experimentais relacionadas com o PCC adicionado ao núcleo.
O que é novo na versão 4.0.0:
- Núcleo:
- Várias limpezas para a API do subsistema de interp
- Limpezas e documentação adições para tópicos verdes e temporizadores
- Iterator PMC e família agora implementar o & quot; iterador & quot; papel
- Um bug no Parrot_ext_try foi fixada em que não foi aparecendo um contexto corretamente
- Documentação:
- Docs para todas as versões do Parrot já lançados estão agora disponíveis em http://parrot.github.com
- testes:
- testes Temporizador PMC foram convertidos de PASM para PIR
O que é novo na versão 3.10.0:
- A marca VTABLE foi adicionado ao Select PMC
- O módulo Parrot :: Embed Perl 5 foi removido de parrot.git e agora vive em https://github.com/parrot/parrot-embed
- Um método set_random adicionou-se para o número inteiro PMC, números de modo aleatório pode ser gerado sem a necessidade de carregar dynops matemática
- Uma nova implementação de threads verde foi adicionado ao Parrot, em preparação para um sistema híbrido de threading robusto. tópicos verdes não estão disponíveis no Windows.
O que é novo na versão 3.9.0:
- Núcleo:
- O ramo WhiteKnight / kill_threads foi incorporada, que remove a implementação de threads / simultaneidade velho e quebrado. Melhores e mais flexíveis primitivas de concorrência estão actualmente a ser trabalhado. Isso também envolveu a remoção alguns dos últimos vestígios do código de montagem da Parrot, bem como remover o compartilhamento e share_ro vtables.
- random_lib.pir foi removido, uma vez que melhores alternativas já existem
- O congelamento e descongelamento vtables foram removidos do padrão PMC, porque eles não eram úteis e causou difícil de encontrar erros.
- Foi adicionada uma nova RunCore sub-rotina de perfis. Ele pode ser ativado com o argumento de linha de comando de -R subprof. Os dados resultantes podem ser analisados com kcachegrind.
- Adicionado get_string VTABLE para FixedIntegerArray e FixedFloatArray PMCs
- O método update () foi adicionada ao Hash PMC, que atualiza um Hash com o conteúdo de outro. Isto acelera o tempo de rakudo / NQP inicialização.
- Línguas:
- Atualizado instantâneo para a versão 1.3.0
- Adicionado o sono builtin
- Modifier "multi" permite um pouco mais de multi funcionalidade
- Comunidade:
- New repo para o Parrot Alternate Compiler Toolkit, uma re-implementação do PCT em Winxed: https://github.com/parrot/PACT
- Documentação:
- Nós estamos no processo de migrar nosso wiki Trac em http://trac.parrot.org/ para Github em https://github.com/parrot/parrot/wiki
- documentação Packfile PMC foi atualizado
- testes:
- Selecionar testes PMC melhorado para passar em plataformas não-Linuxy
O que é novo na versão 3.6.0:
- Núcleo:
- Class.add_vtable_override agora permite que você substituir uma substituição
- Inteiros, flutuadores e cordas agora podem ser armazenados em variáveis lexicais. Anteriormente, apenas PMCs poderia ser armazenado em lexicals.
- VTABLE_substr foi removido. VTABLE_substr_str foi renomeado para VTABLE_substr
- Adicionado um novo tipo PackfileView PMC, uma substituição destinado ao Eval PMC obsoleto.
- O vtable is_integer na PMC Cadeia agora trabalha para todas as codificações de cadeia.
- mensagens de erro Unicode no Win32 agora funcionam corretamente.
- Um vazamento de memória IMCC foi corrigido.
- Línguas:
- O snaphost de Winxed incluído com Parrot foi atualizado para a versão 1.0.0
- Winxed migrou para Github: https://github.com/NotFound/winxed
O que é novo na versão 3.5.0:
- Núcleo:
- Parrot_PMC_destroy, Parrot_PMC_mark e Parrot_PMC_invoke foram retirados da extensão da API pública.
- PASSADO agora tem tipos de nó PAST :: Stmt, suporta registos temporários reutilizáveis.
- A cobertura de teste da incorporação ea interface que se estende agora é pelo menos 95%.
- Um instantâneo de Winxed agora está incluído no núcleo Parrot para facilitar a escrita ferramentas núcleo papagaio de uma linguagem de alto nível do que o PIR.
- Línguas:
- Melhoria de compilação tempo de busca escopo.
- Adicionado 'usando namespace' declaração.
- classes do compilador e as funções agora vivo na Winxed;. Namespace Compiler
- testes:
- O Parrot conjunto de equipamento de teste compreende agora a variável de ambiente HARNESS_TIMER. Defini-lo para um valor verdadeiro irá mostrar os resultados de tempo para um teste.
- testes IPv6 são agora paralelas testando amigável.
O que é novo na versão 3.4.0:
- Núcleo:
- O geracional Mark e Sweep coletor de lixo é o novo padrão.
- foi adicionado O argumento de linha de comando-creche-size --gc.
- Parrot agora recebe a entropia do sistema operacional subjacente.
- O subsistema NCI agora suporta 8, 16, 32 e 64 bit inteiros.
- O subsistema NCI suporta agora & quot; longo tempo & quot; e & quot; long double & quot; assinaturas. Nem todas as plataformas / compiladores apoiar estes tipos não-padrão, para que os desenvolvedores são aconselhados a tomar nota de que a sua utilização reduz a portabilidade.
- Muitas funções mais OpenGL nas ligações Parrot OpenGL estão disponíveis, o que exigiu as assinaturas acima mencionados.
- funções API incorporação relacionadas com a Bytecode mudou-se para src / incorporação / bytecode.c.
- Línguas:
- Use 'usando extern' para as importações de módulo.
- Melhoria da fase 0 prefixo ++ e -. Operadores
- Permitir 'nulo' no operador condicional.
- Vários exemplos são atualizados.
- Comunidade:
- Google Summer of Code período Bonding está indo bem. Os alunos são maioritariamente feito com suas aulas e muito código irá fluir em breve.
- Documentação
- Mais introduções PCT estão disponíveis em:. Http://github.com/benabik/cish
O que é novo na versão 3.3.0:
- Núcleo:
- O ISA e isa_pmc vtables agora podem ser substituídos a partir PIR
- IMCC tem uma nova interface externa melhorado
- Uma nova IMCCompiler PMC acrescenta protótipo funcionalidade PDD31-tanto para os compiladores PIR e PASM
- New opção --with-llvm para Configure.pl, que vai ligar para LLVM se ele está disponível
- Comunidade:
- Parrot Virtual Machine foi aceito no Google Summer of Code 2011
- Ecossistema:
- Rosella acrescenta um estábulo & quot; Event & quot; biblioteca para implementar um mecanismo de publicação / assinatura
- testes:
- A cobertura do teste do subsistema extend_vtable foi muito maior
O que é novo na versão 3.2.0:
- O suporte completo para nomes de arquivo de Unicode em Linux e Win32.
- O --cxx opção de configuração está desaparecido.
- New geracional GC implementado. Para habilitá-lo executar configure.pl --gc = gms.
- Agora definições op são semanticamente analisado. Ela abre possibilidades para futuras otimizações de núcleo papagaio.
- Uma declaração converter o '.param' PIR systax.
- A PMC é implementado para acesso tampão de baixo nível que separam a representação dos ponteiros.
- Suporte adicional para 'long double', 'long long ", e 64-bit para StructView.
- Em math.h são ferramentas disponíveis para Inf / NaN.
- PMCs assinatura são usados de forma generalizada.
O que é novo na versão 3.1.0:
- PMCs de excepção são agora de sub-classe da PIR
- IPv6 é agora suportado e testado
- Função Adicionado Parrot_ext_try para estender API (experimental), para permitir a implementação de tentar .. captura construcs em extensões C.
- Agora temos uma biblioteca YAML chamado YAML :: minúsculo, um porto de YAML :: minúsculo do Perl 5
- Preterido / recursos experimentais estão agora armazenados em api.yaml em um formato de fácil análise, o que permitirá ferramentas automatizadas fácil acesso a esses dados. Isso substitui DEPRECATED.pod, que já não existe.
- Melhoria da latência GC
- Melhor desempenho GC em sistemas de baixa memória
- Melhoria packfile complexidade pesquisa anotação
- A remoção de código não utilizado e código baseado SVN
O que é novo na versão 3.0.0:
- Núcleo:
- Uma nova incorporação API está disponível em & quot; papagaio / api.h & quot; e documentado em docs / PDD / pdd10_embedding.pod.
- Packfile PMCs foram refeito e agora pode ser usado para produzir bytecode executável.
- código de manipulação de Packfile agora lança exceções-friendly Embedder em vez de imprimir os detalhes do erro directamente para stderr.
- suporte a Unicode para o arquivo IO, variáveis de ambiente, nomes de programas e parâmetros de linha de comando foi melhorado.
- Uma GDB experimental formatador de impressão em ferramentas / dev para Parrot cordas e PMCs já está disponível. (GDB 7.2 ou posterior e Python são obrigatórios)
- c2str.pl e pmc2c.pl melhorias resultam em um noticably mais rápido construir.
- Bugs em nosso Digest :: biblioteca sha256 e ops dinâmicas relacionadas bits foram fixados pelo estudante GCI Nolan Lum. Ambos agora trabalhar corretamente em sistemas 32 e 64 bits.
- Comunidade:
- árvore-otimização pelo estudante GSoC Tyler L. Curtis se juntou ao ninho e agora vive em http://github.com/parrot/tree-optimization.
- plumagem agora vive em http://github.com/parrot/plumage e é instalável.
- Natal procedeu conforme o programado. A equipe Parrot não levar o crédito para este evento.
- Documentação:
- geração de documentação HTML foi reescrito e muito simplificada.
- Temos melhorado a documentação em docs / projecto / git_workflow.pod sobre como manter um fork do parrot.git em sincronia.
- Traduções da nossa README em vários idiomas estão agora no diretório docs / tradução, graças a estudantes Google Code-in.
- testes:
- A melhor maneira de escrever & quot; Tudo & quot; testes com o teste de Parrot :: Mais foi implementado pelo estudante GCI Fernando Brito.
- Os principais aumentos na cobertura de teste de muitos PMCs núcleo, PMCs dinâmicas e opcodes dinâmicas resultou da GCI e os alunos interpid atraiu.
- Jonathan & quot; Duke & quot; Leto configurar x86_64 Debian Linux e os fumantes sparc32 na compilação gcc Farm, que continuamente apresentar relatórios de fumaça com uma variedade de opções de configuração e compiladores. Graças, GCC!
- verificação Makefile dependência é agora testado automaticamente, resultando em uma compilação paralela mais confiável.
- testes de cobertura foram melhorados para plataformas com e sem Devel :: Cover.
O que é novo na versão 2.11.0:
- Em Tempo geração quadro de chamada nativa usando LibFFI.
- PIR op find_codepoint não é mais experimental, é agora suportado.
- Várias funções públicas em libparrot foram trazidos para convenções de nomenclatura padrão.
- implementação lista ligada melhorada no GC.
- set_addr opcode está sendo substituída com o novo código de operação set_label em bibliotecas centrais.
- Removido preterido CodeString PMC.
- Adicionado perto, is_closed, ler, métodos readline para Socket.
- Adicionado experimental tipo MappedByteArray PMC.
- Adicionado Parrot_warn_experimental, para avisar o usuário sobre os recursos experimentais.
- Código para executáveis frontend passou de src / para frontend /.
- Suporte para Chunked receber na biblioteca LWP.
- Adicionado um & quot; QuickCover & quot; tornar alvo.
O que é novo na versão 2.10.0:
- Núcleo:
- Estamos no github agora! https://github.com/parrot/parrot
- Configure, construir e testar subsistemas foram feitas Git-aware
- New-chave parrot_config 'osvers ", que contém informações versão do sistema operativo
- atualizado para a última NQP-rx
- Uma exceção apropriada é agora lançada sobre IO erros de leitura
- otimizações do coletor de lixo e correções de vazamento de memória
- ops charset obsoletas foram removidas
- Configuração do Sistema aprendeu a detectar IPv6
- Os scripts mk_language_shell e create_language ainda não foram portados para o Git.
- Documentação:
- Como usar o Git para trabalhar em Parrot
- Git Terminologia
- Teste:
- Maior cobertura em:. String, FixedBooleanArray, PMCProxy, LexPad
- Comunidade:
- portfile Macports atualizado para 2.6.0
- Um pacote Fedora para PL / Parrot (postgresql-plparrot) foi criado Este pacote permite escrever procedimentos armazenados para PostgreSQL em PIR ou Rakudo Perl 6 http://pl.parrot.org
- Parrot Foundation está se unindo com a Fundação Perl e tomando parte no Google Code-In 2010.
O que é novo na versão 2.9.0:
- Núcleo:
- O Parrot e Rakudo construção e testes agora pode ser executado sob o RunCore perfis
- IPv6 é agora detectada, lançando as bases para melhorias futuras redes
- mk_language_shell.pl e create_language.pl já não necessitam de um papagaio instalado
- método "reverso" do Corda PMC é agora mais rápido e suporta todas as codificações
- Melhorias e simplificações no processamento de cadeia interna
- API Adicionado para a adição de cordas para o conjunto gc root
- Acelerar ord, substr, índice e de comparação de string opcodes
- Teste:
- & quot; fazer fumaça & quot; suporta o teste paralelo, honrando TEST_JOBS
- testes Adicionado para o soquete PMC, StringBuilder PMC, ByteBuffer PMC, mk_language_shell.pl, create_language.pl
- Fixed & quot; Configure.pl & quot; testes sobre a falta li>
- Parrot e Rakudo Perl 6 têm agora acesso ao GCC compilação Farm
- Os ensaios em Darwin / PPC
- Git migração:
- A maioria das ferramentas de desenvolvimento foram portados para o Git
- A maioria dos docs desenvolvedor ter sido escrito para Git
- Plataformas:
- Parrot agora pode ser construída sobre Minix
O que é novo na versão 2.8.0:
- Núcleo:
- hashing embutido e comparação
- alocação de memória Hash passou de malloc sistema para preguiçoso alocada
- Evitado infinito captura de exceções enquanto morrendo de exceção
- Algumas correções svn
- Adicionado um cheque de entradas vtable duplicadas na PMCs
- Construção Papagaio com Perl 5.12 e gcc-4.5 / g ++ - 4.5
- cruft Eliminado sobra depois dynops_mapping
- Melhoria charset e codificação seqüência
- Melhor organização de programas de reposição a & quot; / ferramentas construir & quot; e & quot; Ferramentas / release & quot;
- clone Exceção Implementado função vtable
- função experimental Adicionado Parrot_getpid e método getpid
- - argumento de linha de comando gc-limite agregado, que controla a% de memória desperdiçada pela GC
- fechado um monte de bilhetes
- Teste:
- Adicionado testes pmc mais centrais
- Rearranjou alguns testes com cobertura de C
- Agora temos Smolder volta, pelo http://smolder.parrot.org. Apresentar relatórios com & quot; fazer fumaça & quot;
- implementação skip_all no Teste de Parrot :: Mais concluída
- GitMigration:
- Criar um local de teste para github trac plug-in no http://mksig.org/trac/
- Código de Trac plug-in no github está em http://github.com/cotto/github-trac
- Parrot agora está espelhado no github no http://github.com/parrot/parrot
- Compiladores:
- Corrigido o problema com IMCC HLL na diferença load_bytecode entre o carregamento de um PBC e compilação de um pir
funções
O que é novo na versão 2.7.0:
- Núcleo:
- Limpezas em packfile e congelamento / descongelamento manipulação
- otimizações Hash que melhoram o arranque HLL e tempo de execução
- Como sempre, muitas correções de bugs e outras otimizações
- Duração:
- Algumas limpezas de biblioteca de tempo de execução
- Teste:
- Adicionado mais testes para melhorar a cobertura
- teste codingstd New para documentação em arquivos .pmc
- Documentação:
- documentação Adicionado ao .pmc arquivos (alguns ainda em falta, mas cabeçalhos no lugar)
- Melhorias gerais de documentação e trazendo up-to-date
- NQP-rx:
- Versão atualizada incluídos a partir http://github.com/perl6/nqp-rx inclui melhorias de velocidade
O que é novo na versão 2.5.0:
- Núcleo:
- Adicionado ByteBuffer PMC para permitir a manipulação de bytes direto
- Modificado algumas funções vtable PMC para reduzir a complexidade, simplificando a cobertura.
- PASSADO modificado para gerar constantes PASM simbólicos na saída do PIR.
- string Geral limpezas API
- O aumento da cobertura do teste do núcleo PMCs
- Fixed up 'saída' opcode, acrescentou CONTROL_EXIT tipo de exceção.
- Experimental 'desenrolar' opcode renomeado para 'finalizar'
- NQP-rx:
- Adicionado suporte adequado para multisubs e multimétodos
- manipulação sigspace fixo ** quantificador em expressões regulares
- Adicionado & # x5C; e cordas
- uso Adicionado de listas de inversão para listas charclass em expressões regulares
- Plataformas:
- Epel (Extra Packages for Enterprise Linux) pacotes para RHEL6.beta estão disponíveis.
O que é novo na versão 1.8.0:
- Funcionalidade:
- O FileHandle PMC agora expõe o código de saída do processo filho que foi executado como cachimbo.
- foi adicionado suporte experimental para substituir VTABLE invocar objetos PIR.
- O método de 'tipo' foi adicionado ao PackfileAnnotations PMC.
- Os internos do papagaio chamando convenções, PCC, foram retrabalhados. Todos os caminhos de chamada agora usar um objeto CallSignature para a passagem de argumentos e valores de retorno.
- A nova API-função 'Parrot_ext_call' foi adicionado para pôr em C-terra.
- O alocador de tamanho fixo foi melhorada.
- Os arquivos instalados por 'make install-dev' estão agora cobertas por 'make install' também.
- Os ops experimentais "buscar" e "vivificar" foram adicionados.
- A opção -I ao comando 'papagaio' agora precederá itens para o caminho de pesquisa.
- O struct Contexto foi substituído com atributos de automóveis (context_auto_attrs ramo).
- Use o osname determinado de auto :: arco em passos de configuração subsequentes (convert_OSNAME ramo).
- dependência do Perl 5 'Config%' na auto :: formato (ramo auto_format_no_Config) Eliminado.
- MultiSub PMCs agora stringify para o nome de seu primeiro candidato, em vez de o número de candidatos.
- A detecção plataforma no início do processo de configuração foi melhorada.
- O método 'lineof' em objetos CodeString agora precomputes linha informações número para ser mais eficiente em cordas de largura variável codificados.
- P6object agora suporta métodos .quem e .onde em protoobjects.
- Plataformas:
- foram aplicadas correções para o porto de papagaio a RTEMS.
- No NetBSD, bibliotecas compartilhadas são agora usados.
- Performance:
- Use o alocador de tamanho fixo no Contexto eo CallSignature PMC.
- Muitas melhorias pequena velocidade.
- Documentação:
- O significado de 'p' significa em função NCI assinaturas de chamada foi esclarecida.
- Ferramentas:
- O esboço de uma nova linguagem, como criado por mk_language_shell.pl, agora conta com as ferramentas baseadas em PIR, que estão substituindo as ferramentas baseadas em 5 Perl.
- foi adicionado A biblioteca Configure.pir.
- foi adicionado O distutils.pir biblioteca.
O que é novo na versão 1.5.0:
- Núcleo:
- Removido várias funções e recursos obsoletos
- BSR Removido, JSR, branch_cs e opcodes ret
- Removido sistema de pilhas mundial
- OPS modificou o arquivo de formato para incluir preâmbulo explícita li>
- mudou tudo & quot; novo "Iterator '& quot; instruções em instruções 'iter'
- Removido opções configure.pl para especificar núcleos AG não-trabalho
- código unexecuting Removido como encontrado por Coverity
- Melhorias para o depurador Parrot
- experimental estrutura de tamanho fixo alocador Adicionado ao GC
- alocação preguiçoso experimental Adicionado arena para o GC
- Removido o objeto compilador PASM1 extinta li>
- hashes reformulado, chaves e iteradores
- Adicionado & quot; corevm & quot; tornar alvo de construir Parrot sem todas as bibliotecas de suporte
- Removido tipo aleatório PMC e acrescentou em um & quot; rand & quot; dynop
- Otimização e melhorias para o gerador de NCI conversão
- Novo arquivo de inclusão libpaths.pasm
- Compiladores:
- .local múltipla com mesmo nome e tipo diferente agora é um erro em IMCC.
- Plataformas:
- Suporte aprimorado para detectar Fink e Macports
- diretórios de pesquisa atualizados para bibliotecas
- Documentação:
- & quot; Guia Parrot Desenvolvedores: PIR & quot; liberado para editor e disponível para a compra
- Melhoria da documentação sobre Parrot Debugger
- Documentação Atualização PGE
- Diversos:
- testes Adicionado
- Correções para código, documentação e padrões
O que é novo na versão 1.4.0:
- Núcleo:
- Chave e Iterator refactor
- grande melhoria pbc_to_exe gerado velocidade de código
- New & quot; Infinito Memórias & quot; núcleo GC para fins de demonstração
- RunCore gc_debug e correções Heisenbug relacionados com o GC
- Eliminação de expansão de variáveis em parrot_config
- argumentos CLI são processados como Unicode por padrão
- otimizações substanciais na NCI
- Parrot baseia-se em Win64
- Os hashes podem usar tipos nativos como chaves e valores
- Fixed pbc_to_exe instalado
- Simplificação do código de geração PMC
- Melhoria encapsulamento GC e documentação da API
- Documentação:
- Lista de candidatos para a incorporação de API (docs / embed.pod)
- PIR livro enviado ao editor
- Teste:
- Várias conversões de teste Perl para PIR puro.
- padrões C recuo de codificação
- Melhoria da cobertura do teste de exemplo de código
- Deprecações:
- A remoção de regras PGE: & # X3C; nula & # x3e; & # X3C; falham & # x3e; & # X3C; sp & # x3e; & # X3C; lt & # x3e; & # X3C; gt & # x3e; & # X3C; dot & # x3e;
- A remoção dos métodos PGE: .text .item .result_object
- Deprecation da maioria dos dynops
- Diversos:
- Início do OpenGL :: biblioteca de matemática; ligações OpenGL e biblioteca marcada experimental
- Localizando e correções consting
- Muitos memória e vazamentos relacionados com fios ligado
melhoria test
Comentários não encontrado