Tink

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Tink
Información general
Paradigma ¿?
Apareció en 2008
Diseñado por José María Méndez
Implementaciones Processing
Influido por Brainfuck
Ha influido a ¿?

Tink o Turing Ink (Tinta de Turing), es un lenguaje de programación esotérico, diseñado por José María Méndez en 2008. A diferencia de la mayoría de lenguajes de programación, está basado en el uso de colores, de tal forma que cada instrucción es representada por un píxel de determinado color, que forma parte de una imagen/programa. Su repertorio de instrucciones es prácticamente idéntico al de Brainfuck, por lo que podría considerarse un dialecto o variación de éste.

Diseño del lenguaje[editar]

Este lenguaje se basa, al igual que Brainfuck y Ook!, en la utilización de un array de bytes, (idealmente infinito, aunque en la única implementación existente de Tink posee 128 bytes). También existe un puntero a las posiciones del array, que puede ser manipulado mediante las 9 instrucciones existentes.

Las instrucciones[editar]

Hay nueve instrucciones, cada una asociada a un color, excepto una de ellas que es una combinación de dos píxeles blancos.

Color Significado
#FFFFFF #FFFFFF Espera a que el usuario introduzca un byte en la corriente de entrada.
#FFFFFF Inicia/termina un comentario.
#00FF00 Incrementa el puntero.
#FF0000 Decrementa el puntero.
#0000FF Incrementa el byte apuntado.
#FFFF00 Decrementa el byte apuntado.
#FF8000 Introduce el byte apuntado en la corriente de salida.
#FF00FF Toma como valor del byte actualmente apuntado el provisto por la corriente de entrada.
#00FFFF Avanza al píxel inmediatamente posterior al #0080FF correspondiente si el byte actualmente apuntado es nulo.
#0080FF Retrocede al píxel inmediatamente posterior al #00FFFF correspondiente si el byte actualmente apuntado no es nulo.

Un "Hello, world" en Tink[editar]

Este sería el típico programa que escribe "Hello World" en Tink:

Hello world tink.png

El mismo programa, dibujado de otra forma:

Hello tink cool.png

Enlaces externos[editar]