Potion (linguagem de programação)

Origem: Wikipédia, a enciclopédia livre.
potion
Paradigma Functional, stack-oriented, message passing
Surgido em 2007
Última versão v0.1.1061
Estilo de tipagem Dinâmica
Licença: Licença MIT
Página oficial perl11.org/potion

potion é uma pequena e rápida linguagem de programação dinâmica e orientada à pilha com um compilador JIT, clausuras, continuações e exceções, uma máquina virtual baseada em Lua e um modelo de objeto baseado em entrada e saída embutida o em torno da troca de mensagens, um metaobjeto e mixins. É tecnicamente um Common_Lisp somente léxico com duas linguagens: uma para o código, uma para os dados e ela foi escrita sob 10 mil linhas de C.

História[editar | editar código-fonte]

O potion foi criado por _why como seu último projeto em 2007 antes de seu desaparecimento da internet.[1]

Ele começou brincando com as partes internas da linguagem Lua e lendo materiais de Ian Piumarta e de Nicolas Cannasse.

Após o desaparecimento de _why, um desenvolvedor chamado "fogus" assumiu a manutenção até 2013. A palavra-chave class foi adicionada nesse período.

Em 2013, um grupo autodenominado perl11 "(5+6=11)", com Reini Urban como desenvolvedor chefe, assumiu o desenvolvimento do potion[2] para ser utilizado como Máquina Virtual para "p2", uma implementação planejada para o Perl5 e o Perl6.[3]

Ambas as linguagens, potion e p2, são agora desenvolvidas juntas pelos desenvolvedores do perl11. A versão v0.1 foi lançada em 16 de Outubro de 2013 na conta github do grupo.

Filosofia[editar | editar código-fonte]

"Se você mantê-lo pequeno, couber a Máquina Virtual, o analisador e a stdlib em 10 mil linhas, então não é suor".[4]

Exemplos[editar | editar código-fonte]

Sequência de Fibonacci:

fib = (n):
  if (n < 2): n. else: fib (n - 1) + fib (n - 2).
.
n = argv(1) number
if (n<1): n=28.
("fib(",n,")= ", fib(n)) join say

# parrot example/fib.pir 40  3m36.447s
# perl   example/fib.pl  40  2m19.752s
# potion example/fib.pn  40  0m3.512s

Recursos[editar | editar código-fonte]

Ligações externas[editar | editar código-fonte]


Referências

  1. Lowrey, Annie (15 de Março de 2012). «Where's _why? What happened when one of the world's most unusual, and beloved, computer programmers disappeared». Slate. Consultado em 15 de Março de 2012 
  2. fogus (11 de Agosto de 2013). «_why's Potion — a new home». Consultado em 21 de Agosto de 2013 
  3. Urban, Reini (4 de Junho de 2013). «Design Decisions on p2». Consultado em 15 de Setembro de 2013 
  4. _why; Why the lucky stiff (22 de Dezembro de 2008). «README». Consultado em 15 de Setembro de 2013