Realidades Paralelas

Thursday, April 21, 2005

O destino de Perl 6

Às vezes as coisas tomam um rumo engraçado: há séculos que a comunidade Perl promete a versão 6 da linguagem, e que ela vai ser a melhor coisa desde pão fatiado. Enquanto isso, a maior parte do desenvolvimento se arrasta interminavelmente no trabalho com a VM Parrot, e nada de ter um compilador disponível para Perl 6. E isso porque a nova versão foi anunciada há uns 4 anos...

Aí um cara teve a idéia de fazer um protótipo do interpretador. Escrevendo em Haskell. Aí começaram a aparecer hackers tanto da comunidade Haskell quanto da comunidade Perl interessados em ajudar e, em menos de dois meses, existe um protótipo disponível. Ele se chama Pugs. O progresso tem sido incrivelmente rápido, e pelo andar da carruagem eu não duvido nada que o Pugs, que começou como um projeto de uma pessoa só (Autrijus Tang) e totalmente sem o apoio da equipe Perl 6, seja promovido a oficial. Isso acontecendo seria uma ótima notícia para Haskell, que ganharia popularidade em uma comunidade mais mainstream. Mas eles provavelmente reescreveriam o interpretador em C, aos poucos.

2 Comments:

  • Poderiam até reescrever o bootstrap, mas ia ser um disperdício de mão-de-obra. É preferível mandar junto no pacote do compilador escrito em Perl6, uma versão pré-compilada para o Parrot, e usá-la como bootstrap. Se não me engano, é basicamente assim que funciona o bootstrap do O'Caml.

    By Anonymous Anonymous, at 9:32 PM  

  • Bom, que eu saiba o interpretador da versão 5 é escrito em C mesmo; tem uma máquina virtual e o código é compilado para bytecode mas não tem como acontecer bootstrap. É possível que no caso de Perl 6 a idéia seja a mesma: ter um interpretador que no caso é um compilador para parrotcode, mas sem a necessidade de um passo separado de compilação. Assim, acho que nem a intenção deles fazer bootstrap.

    O que eu acho é que a comunidade de software livre tem essa fixação na linguagem C, e parte disso tem um bom motivo: a existência de um compilador C em praticamente qualquer plataforma (o próprio gcc daqui a pouco vai ter backend para torradeiras e fornos microondas). O outro motivo alegado é que mais gente sabe C do que Haskell, o que também é verdade. Então acho pouco provável que eles deixem um interpretador Haskell como parte da distribuição oficial por muito tempo.

    Isto é, SE houver distribuição oficial. Talvez quando a VM Parrot ficar pronta, em 2015, Perl não seja mais relevante :)

    By Blogger tautologico, at 10:16 PM  

Post a Comment

<< Home