Tink
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.
Tink | ||
---|---|---|
? | ||
Información general | ||
Paradigma | Esotérico | |
Apareció en | 2008 | |
Diseñado por | José María Méndez | |
Implementaciones | Processing | |
Influido por | Brainfuck | |
Ha influido a | ¿? | |
Diseño del lenguaje
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
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
Este sería el típico programa que escribe "Hello World" en Tink:
El mismo programa, dibujado de otra forma: