[Cascavel-pm] Sub x Eval x return

Adriano Ferreira a.r.ferreira em gmail.com
Segunda Maio 7 06:45:25 PDT 2007


On 5/7/07, Luis Motta Campos <luismottacampos em yahoo.co.uk> wrote:
> On May 7, 2007, at 3:21 PM, Flavio S. Glock wrote:
> > Em 07/05/07, Luis Motta Campos<luismottacampos em yahoo.co.uk> escreveu:
> >>
> >>    E será que se pode sobrecarregar o eval() para que ele aceite um
> >> BLOCK, sem ponto-e-vírgula?
> >>    Flávio, alguma idéia genial para modificar o comportamento do eval
> >> neste caso?
> >
> > sim - 'use v6-alpha' :)
> > No Perl6 não é necessário ponto e vírgula após m/ } \n /
> > (mas o 'eval' chama-se agora 'try')
>
>    /me parece desapontado
>
>    Parece que existe limite para a macaquice léxica que se pode
> fazer, então...
>
>    Ainda não tive uma chance de experimentar com os new features. Vou
> tentar instalar o V6 esta tarde.
>
>    Faz algum sentido mudar o /eval/ para /try/, depois de tanto tempo?

Um dos pontos de honra do projeto do Perl 6 (certo ou não) foi remover
a ambigüidade típica de várias "features" do Perl 5. Entre elas:

* eval STRING x eval BLOCK

   Acho que o "eval STRING" continuou "eval"  e o "eval BLOCK" foi
renomeado "try".

* for x foreach

  O foreach já era. Nada de aliases e redundância que não ajuda em nada.

* for LIST x for com cara de C

  Não sei bem como isto ficou, mas tem um comando "loop" agora e acho
que o "for" é só para iterar por uma estrutura.

A idéia é não sobrecarregar a semântica das palavras/keywords usados
para tornar mais simples a leitura e interpretação dos programas.

>    Em alguns contextos, eu acho que /eval/ soa melhor:
>
>    eval "sub generated_routine { return... }";
>
>    Em outros, tenho certeza de que os novatos (e os programadores de
> (argh!) Java) vão gostar de usar /try/:
>
>    try {
>      my $sth = $dbh->prepare(...);
>      # ...
>    }
>
>    Será que a gente não pode ter /try/ como um alias para /eval/?
>
>    Putamplexos!
> --
> Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
> Perl fanatic evangelist, and amateur {cook, photographer}
>
>
> _______________________________________________
> 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