Translate

Mostrando las entradas con la etiqueta Raku. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Raku. Mostrar todas las entradas

domingo, 28 de febrero de 2021

Rakudo

Rakudo es un compilador de Raku para MoarVM y la máquina virtual de Java, que implementa la especificación de Raku.

Desarrollado originalmente dentro del proyecto Parrot, el repositorio de código fuente de Rakudo se separó del proyecto en febrero de 2009 para que pudiera desarrollarse de forma independiente, aunque todavía había muchas dependencias en ese momento. Rakudo está escrito en C, Raku y el subconjunto ligero de Raku "NQP" 

Rakudo fue lanzado en febrero de 2009, con el nombre en código Viena en honor al grupo Perl mongers que había patrocinado a uno de sus desarrolladores desde abril de 2008. Las versiones posteriores han utilizado nombres en clave basados en grupos Perl mongers.

El primer lanzamiento importante de una distribución tanto de compilador como de módulos (llamado "Rakudo *" o "Rakudo Star") fue el 29 de julio de 2010.

Cuestiones para el que no sabe, raku es el nuevo pearl (esto es por las dudas) y otra cosa busque en todo internet como corre rakudo en la jvm pero no encontre nada. Así que el que quiera aportar medeja el ejemplo en los comentarios. 

Dejo link : https://rakudo.org/

jueves, 20 de febrero de 2020

Guía de Raku en castellano

Quiero compartir esta pagina que es una guía rápida del lenguaje de programación Raku.
Para los novatos en Raku sería un punto de partida y puesta en marcha.

Y como todo buen tutorial comienza con un "Hola Mundo" : 

say 'hola mundo';

que también puede escribirse como:

'hola mundo'.say;

Dejo link: https://raku.guide/es/

sábado, 15 de febrero de 2020

El lenguaje de programación Raku

Hice un post de Raku, pero no mostré nada de código y quedo bastante incompleto. Por eso la idea de este post es mostrar un poco más. Vamos hacer una función que retorne el ultimo elemento de una lista :

use v6;

sub last-elem(@list) {
    @list[* - 1];
}

say last-elem(<a b c d e>);

nos retornará "e" veamos otro ejemplo, ahora vamos a retornar los 2 últimos elementos :

use v6;

sub last-two(@list)
{
    @list[* - 2, * - 1];
}

say "{last-two(<a b c d e>)}";

nos retornará "d" y "e", vamos hacer una función que busque un elemento por un indice pasado por parámetro :

use v6;

sub get-at(@list, $elem)
{
    @list[$elem];
}

say get-at(<a b c d e>, 4);

nos retornará "e" veamos otro ejemplo, ahora vamos a retornar una lista de reversa :

use v6;

sub reverse-list(@list)
{
    @list.reverse;
}

say "{reverse-list(<a b c d e>)}";
va retornar "e d c b a"

Por ultimo vamos a hacer una función que retorne n números :

use v6;

sub lotto-select($n, $m)
{
    gather for ^$n
    {
        take (1 ... $m).pick(1).first;
    }
}

say "{lotto-select(6, 49)}";

A mi entender tantos símbolos como @, $, etc, hacen difícil leer el codigo, sobre todo a las personas que no venimos de Perl


Dejo link: https://examples.p6c.dev/index.html

martes, 11 de febrero de 2020

Perl 6, mejor conocido como Raku

A Perl 6 le metieron tantos cambios que lo más coherente era llamarlo de otra manera y de esta forma nace Raku.

Raku tiene la intención de llevar adelante los altos ideales de la comunidad Perl. Raku ha sido desarrollado por un equipo de voluntarios dedicados y entusiastas, y continúa desarrollándose.

Raku se ve altamente influido por la programación funcional, de esta manera, tiene clausuras, lazy evaluation, patter matching.

Programación orientada a objetos tambien se hace presente y incluye genéricos, roles y polimorfismo.

Paralelismo, concurrencia y asincronía, tambien incluido el soporte multinúcleo

Gramáticas definibles para la coincidencia de patrones y el procesamiento de cadenas generalizado
Mecanografía opcional y gradual

Dejo link : https://www.raku.org/