[Cascavel-pm] Perl6 bootstrap

Gabriel Vieira gabriel.vieira em gmail.com
Quarta Março 8 10:59:56 PST 2006


Caraca

mto bom em! Sempre que eu imaginava algo do tipo caia em loop infinito hehe

Muito interessante.. acho q vou tentar algo basico dps baseado nisso.. sera 
q rola?

pelo menos um "print 'hello world'" eu consigo? :D

parabens em! curti geral.. excelente trabalho.

Gabriel Vieira

- Membro Sociedade Perl Brasil
http://www.perl.org.br/
- dsgX Network Solutions
http://www.dsgX.org/
----- Original Message ----- 
From: "Flavio S. Glock" <fglock em gmail.com>
To: "Cascavel Perl Mongers" <cascavel-pm em pm.org>
Sent: Wednesday, March 08, 2006 3:38 PM
Subject: Re: [Cascavel-pm] Perl6 bootstrap


Gabriel:

Pois é, o Larry Wall estava me perguntando porque eu não utilizei o
PGE, que é um programa que já está bem adiantado - mas depois ele
admitiu que se o PGE usasse o meu método já teria feito bootstrap :)

O processo é o seguinte:
- compilador super-básico, capaz de pegar um texto simples e gerar uma
árvore de sintaxe (array de hashes, etc)
- um programa também super simplificado para emitir código compilado.
Por exemplo, ele tem coisas assim: print "print \"\\n\";";
* o motivo do "super básico" é que o próprio programa compilador
precisa ser _muito_ fácil de compilar
- como o perl6 é uma linguagem dinâmica, foi implementada uma
estrutura em que a sintaxe pode ficar em um array, que pode ser
modificado a qualquer hora.
- com estas coisas no lugar, foi implementada a linguagem de "rules"
do perl6, que corresponde aos regex do perl5
- com o pouco que havia sido implementado da linguagem, foram
acrescentados novos comandos.
- a partir de um certo ponto, já podiam ser acrescentados novos
comandos escritos em puro perl6
- neste ponto é feito o bootstrap: o compilador foi reescrito em perl6
e compilado usando ele mesmo. O resultado (chamado de "state") foi
gravado em um arquivo.
- uma parte do programa original foi apagada, e substituída pelo "state"
- assim, progressivamente, o programa original em perl5 foi sendo
substituído por perl6

Ainda há várias coisas que continuam em perl5, porque não são
prioritárias (carga de módulos, mensagens de erro) - o processo de
conversão total deve ainda demorar um tempo.

- Flavio S. Glock

Em 08/03/06, Gabriel Vieira<gabriel.vieira em gmail.com> escreveu:
> Parabéns!
>
> Fico besta em pensar na linguagem sendo compilada por ela mesma. Ficava
> pensando onde o C arrumara 'suporte' pra se auto interpretar oO.
> Onde foi que descobriu essa maneira?
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm 



Mais detalhes sobre a lista de discussão Cascavel-pm