We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

IkeaLang/Spanish

From Esolang
Jump to navigation Jump to search
IkeaLang/Spanish
Designed by {{{author}}}
Appeared in {{{year}}}
Computational class Unknown
Reference implementation Unimplemented

IkeaLang (también referenciado bajo el entorno de desarrollo y motor KALLAX Studio) es un lenguaje de programación esotérico creado en 2026. Su diseño conceptual y sintaxis modelan el flujo de ejecución computacional a través de la metáfora del montaje paso a paso de muebles de IKEA, utilizando componentes, paquetes planos (flat packs), tornillos, paneles y herramientas de montaje como primitivas de memoria e instrucciones de control.

Visión general

A diferencia de los lenguajes tradicionales estructurados en funciones o clases, los programas en IkeaLang están organizados como «manuales de instrucciones de ensamblaje». La memoria y el flujo de trabajo representan el inventario de piezas y las herramientas disponibles en el kit de montaje:

  • Piezas y tornillos: Representan registros y celdas de almacenamiento escalar.
  • Paquetes planos (Flat-packs): Representan estructuras de memoria compuestas, arrays o bloques de almacenamiento contiguo.
  • Herramientas (llaves Allen, tacos de madera): Operadores aritméticos, punteros y manipuladores de estado.
  • Pasos de montaje (Steps): Bloques de ejecución y subrutinas secuenciales.
  • Muebles completados: Estados de terminación del programa o salidas generadas (stdout / buffers de renderizado 3D).

Sintaxis y modelo de ejecución

Estructura de un archivo (.ikea)

Un programa en IkeaLang se declara con una cabecera de producto de catálogo (por ejemplo, `mueble-estanteria_compacta-17d7.ikea`), definiendo los componentes requeridos y los pasos estructurados de ensamblaje:

MUEBLE: KALLAX_ESTANTERIA
PIEZAS:
    PANEL_LATERAL x2
    PANEL_CENTRAL x4
    TORNILLO_HEX x16
    LLAVE_ALLEN x1

PASO 1:
    INSERTAR PANEL_LATERAL EN BASE
    APRETAR TORNILLO_HEX CON LLAVE_ALLEN (VALOR: 72) ; 'H'

PASO 2:
    ENSAMBLAR PANEL_CENTRAL
    ...
FIN_MUEBLE

Conjunto de operaciones fundamentales

Instrucción / Metáfora Operación computacional equivalente Descripción
ABRIR_PAQUETE Inicialización / `malloc` Inicializa el buffer de memoria o la cinta de trabajo.
INSERTAR <pieza> `PUSH` / Asignación Carga un valor o elemento en el espacio de trabajo activo.
APRETAR <tornillo> `INC` / Operación aritmética Incrementa el registro o suma unidades según la rotación.
DESATORNILLAR `DEC` Decrementa el valor de la celda de memoria actual.
PASO <n> / REPETIR Bucle / Control de flujo Ejecuta ciclos condicionales hasta que las piezas encajen (flag cero).
MUEBLE_LISTO `OUTPUT` / `HALT` Vuelca el contenido acumulado a la salida estándar y detiene el proceso.

Arquitectura e Implementación (KALLAX Studio)

El entorno oficial asociado al lenguaje, conocido como **KALLAX Studio Backend Engine**, implementa una arquitectura híbrida:

  • Motor de análisis sintáctico: Procesa los manuales de instrucciones y valida las dependencias de piezas y restricciones estructurales antes de la ejecución.
  • Vision & 3D Integration: En implementaciones avanzadas, el motor se conecta con librerías de visión por computador y renderizado volumétrico (como Open3D) para proyectar visualmente la estructura generada por el algoritmo durante el proceso de ensamblaje.

Ejemplos

Hello, World!

MUEBLE: SALUDO_HELLO_WORLD
PIEZAS:
    TORNILLO x1

PASO 1:
    APRETAR TORNILLO 72  ; 'H'
    MOSTRAR TORNILLO
    APRETAR TORNILLO 29  ; 'e'
    MOSTRAR TORNILLO
    APRETAR TORNILLO 7   ; 'l'
    MOSTRAR TORNILLO
    MOSTRAR TORNILLO     ; 'l'
    APRETAR TORNILLO 3   ; 'o'
    MOSTRAR TORNILLO
    APRETAR TORNILLO -67 ; ','
    MOSTRAR TORNILLO
    ...
MUEBLE_LISTO

Programa Cat (Eco de entrada)

MUEBLE: ECO_CAT
PASO 1:
    LEER_PIEZA ENTRADA
    SI ENTRADA == VACIO IR_A FIN
    MOSTRAR ENTRADA
    REPETIR PASO 1
FIN:
    MUEBLE_LISTO

Clasificación computacional

IkeaLang es **Turing completo**, ya que su sistema de tornillos (contadores/registros no acotados) junto con los pasos repetitivos y condicionales de montaje permite simular una máquina de dos contadores (Minsky) o una máquina de Turing estándar con cinta de piezas infinita.


Enlaces externos

  • Repositorio del motor de ejecución y especificación de sintaxis de IkeaLang / KALLAX Studio.

Categoría:Lenguajes de programación esotéricos Categoría:Lenguajes de programación creados en 2026 Categoría:Turing completo