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
| 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