Especificación de Arquitectura: Runtime Standalone de MPL (Metsu Programming Language)
Especificación Técnica Oficial Metsu Programming Language (MPL)
Documento de Diseño Técnico y Hoja de Ruta de Implementación
Versión: 0.1.0-alpha (Prototipo Standalone)
Entorno de Referencia: MetsuOS / Python 3.x Estándar (Sin dependencias externas)
1. Visión General del Proyecto
El objetivo de esta fase es implementar un motor de ejecución (Runtime) standalone, determinista y asíncrono para el lenguaje MPL (Metsu Programming Language), programado exclusivamente en Python estándar.
Este Runtime servirá como el núcleo de pruebas y validación funcional para las tres capas de abstracción de MPL:
Capa 3 (UI / DSL Declarativo): Gestión de ventanas, vistas, menús y eventos de usuario.
Capa 2 (Dominio / Objetos Conceptuales): Gestión de estados, modelos de datos, máquinas de estado y bus de eventos.
Capa 1 (Imperativa / Algorítmica): Control de flujo, variables, primitivas, rutinas e I/O.
2. Estrategia de Autohospedaje (Bootstrapping / El "Huevo y la Gallina")
Para lograr que el compilador de MPL termine estando escrito en el propio lenguaje MPL y ejecutándose sobre su propio ecosistema, se define una estrategia en tres fases:
graph TD classDef fase0 fill:#2b4c7e,stroke:#4a90e2,stroke-width:2px,color:#ffffff; classDef fase1 fill:#7b4b94,stroke:#b873d9,stroke-width:2px,color:#ffffff; classDef fase2 fill:#1e5128,stroke:#4e9f3d,stroke-width:2px,color:#ffffff; subgraph Bootstrapping_MPL ["Proceso de Bootstrapping MPL"] Fase0["Fase 0: Runtime Cero (Python Puro)
Intérprete + Event Loop FIFO + Drivers de Renderizado.
Lee el AST de MPL y lo ejecuta en memoria."]:::fase0 Fase1["Fase 1: Compilador v0.1 escrito en MPL
Escrito en Capa 1/2/3 de MPL.
Se ejecuta SOBRE el Runtime de la Fase 0."]:::fase1 Fase2["Fase 2: Self-Hosting / Compilación Nativa
El compilador MPL se compila a sí mismo.
Emisión a JS/Python/ C/C++/WASM/Assembly para MetsuOS."]:::fase2 end Fase0 -->|Ejecuta| Fase1 Fase1 -->|Evoluciona y genera| Fase2
Fase 0 (Host Runtime en Python): Motor de desarrollo inicial. Parsea el código
.mpla un Árbol Sintáctico Abstracto (AST) y lo ejecuta mediante un Event Loop basado en colas FIFO.Fase 1 (Compilador MPL v0.1): Se escribe la lógica del analizador y compilador utilizando sintaxis MPL. Este programa
.mplcorre dentro del Runtime de la Fase 0.Fase 2 (Self-Hosting Completo): Cuando el compilador en MPL es capaz de generar código ejecutable o transpirar al menos a Python, se compila a sí mismo. De ahi en adelante se desarrollan los compiladores a JS/C/C++/WASM/Assembler ...
3. Arquitectura del Runtime v0.1 (Fase 0)
El Runtime v0.1 está compuesto por 4 módulos principales desacoplados:
graph LR classDef lexer fill:#2b4c7e,stroke:#4a90e2,stroke-width:2px,color:#ffffff; classDef queue fill:#7b4b94,stroke:#b873d9,stroke-width:2px,color:#ffffff; classDef driver fill:#1e5128,stroke:#4e9f3d,stroke-width:2px,color:#ffffff; Fuente[".mpl Source"] --> Tokenizer["1. Tokenizer & Parser
Generación de AST y Sanitización"]:::lexer Tokenizer --> Queue["2. FIFO Event Loop Engine
Cola de Tareas asíncrona (deque)"]:::queue Queue --> Exec["3. Intérprete AST
Ejecutor Capas C1, C2, C3"]:::queue Exec --> Drivers["4. UI Abstraction Driver
Renderizador Abstraído"]:::driver Drivers --> CLI["Driver CLI (Terminal)"]:::driver Drivers --> GUI["Driver GUI (Tkinter Nativo)"]:::driver
3.1. Pipeline de Parsing y Seguridad
Para evitar la ejecución de código no seguro mediante eval(), el Runtime realiza una lectura en dos pasos:
Lexer / Tokenizer (
renativo): Convierte el código fuente.mplen tokens.Construcción del AST: Transforma los tokens en un árbol de nodos (
NodoPantalla,NodoObjeto,NodoFuncion).Validador de Seguridad (Sanitizer): Inspecciona el AST antes de enviarlo a la cola de ejecución para bloquear instrucciones no autorizadas o accesos indeseados a recursos del sistema.
3.2. Motor Asíncrono (Event Loop FIFO)
En lugar de depender de asyncio, el Runtime implementa un Event Loop determinista basado en la estructura de datos collections.deque:
Cola de Eventos Prioritaria (FIFO): Registra señales de usuario, eventos de cambio de estado de Capa 2 y llamadas asíncronas de Capa 1.
Reloj de Ticks: Un bucle principal procesa eventos en orden estricto de llegada, permitiendo la conmutación de contexto sin hilos (threads) complejos.
Ventaja: Esta estructura facilita la portabilidad directa del motor al Kernel C/C++ de MetsuOS en el futuro.
3.3. Patron de Renderizado Dual (Abstracción de UI)
El Runtime incluye una interfaz abstracta UIDriverBase que permite renderizar exactamente el mismo código MPL en dos modos a elección del usuario al arrancar:
Modo Console CLI: Dibuja la interfaz (Capa 3) en la terminal estándar con menús interactivos formateados.
Modo Desktop GUI (Tkinter): Utiliza la librería nativa
tkinterde Python para dibujar las pantallas (Capa 3) como ventanas, botones y cajas de texto reales.
4. Diagrama de Secuencia: Ciclo de Ejecución de Eventos
sequenceDiagram
autonumber
participant UI as Renderizador UI CLI o GUI
participant EvLoop as Event Loop Cola FIFO
participant AST as Interprete AST Capa 1 y 2
participant State as Gestor de Estado Capa 2
UI->>EvLoop: Encola evento Seleccionar OPCION
Note over EvLoop: Evento desencolado de la cola FIFO
EvLoop->>AST: Ejecutar accion ligada en Capa 3
AST->>State: "I"nvocar metodo en OBJETO_CONCEPTUAL Capa 2
State->>AST: Ejecutar bloque imperativo Capa 1
AST-->>State: Retorna cambio de propiedades
State-->>EvLoop: Encola evento Estado Actualizado
EvLoop->>UI: Redibujar Pantalla o Componente Capa 35. Plan de Pruebas Integradas en la CLI de Control
Al ejecutar python mpl_runtime.py, la aplicación mostrará una suite interactiva para validar las tres capas:
====================================================================
METSU PROGRAMMING LANGUAGE (MPL)
Runtime Standalone v0.1.0
====================================================================
Elija el modo de renderizado de UI:
[1] Modo Línea de Comandos (CLI)
[2] Modo Ventanas Nativas (GUI Tkinter)
Elija la suite de pruebas a ejecutar:
[A] Prueba Capa 1: Algoritmos Imperativos y Variables
[B] Prueba Capa 2: Objetos Conceptuales, Estados y Eventos
[C] Prueba Capa 3: Pantallas, Menús y Navegación
[D] Ejecución Completa Multi-Capa (Demo Integrada)
====================================================================
6. Hoja de Ruta Evolutiva del Runtime
| Fase | Hito / Componente | Entregables Principales | Estado |
|---|---|---|---|
| Fase 0: Host Runtime | Motor en Python Estándar | • Intérprete AST en memoria • Bucle de eventos asíncrono con cola FIFO • Drivers de renderizado dual (CLI Terminal / GUI Tkinter) | En Desarrollo |
| Fase 1: Bootstrap Compiler | Compilador MPL en MPL | • Lógica del compilador escrita en código .mpl• Parsing y validación de Capas C3, C2 y C1 • Ejecución sobre el Host Runtime de la Fase 0 | Planificado |
| Fase 2: Self-Hosting & Targets | Transpilación y Autocompilación | • Compilador MPL autocompilado sin dependencia de Python • Generador de código destino (Targets: C/C++, WebAssembly, JS) • Binario ejecutable standalone para MetsuOS | Futuro |
One More Thing

¡Desbloquea el poder de MetsuOS y descubre que la privacidad y la seguridad son la clave para desencadenar tu verdadero potencial en línea!
Contenido registrado en Safe Creative
¡Usa el código de promocional 7ZYM4Z y ahorrate unos eurillos en tu suscripcion de Safe Creative!
MetsuOS Needs You!
Apoyanos en este proyecto difundiendolo en tus redes, o mejor, haznos una donación a la cuenta paypal para poder dedicar más tiempo y recursos a el. No olvides comentarnos que parete te interesa más junto con tu donación.
En este momento, además de mantener los servicios, estoy centrado en crear la siguiente iteración del software que me permite hacer todo esto y creando una biblioteca personal física para poder contrastar contenido.
Sobre el sistema de validez de un contenido en MetsuOS
Empezando a incorporar los niveles de validación de un contenido (también llamada sabiduría o niveles de conocimiento) ⚫🔴 🟡 🟢 🔵⚪ ¿Qué són?
- ⚫① - Dark1 - Conocimiento en Bruto. Modo Cuñao, hablo pero no puedo respaldarlo.
- 🔴② - Rojo2 - Conocimiento Impulsivo, pasional, "lo mio es lo correcto".
- 🟡③ - Yellow3 - Conocimiento Crítico: se comienza a explorar el hecho de que pueda haber otras perspectivas.
- 🟢④ - Green4 - Conocimiento Natural: Surge al comprender la naturaleza de la realidad y del ser humano en una materia.
- 🔵⑤ - Blue5 - Conocimiento Científico: Supone la suma de las fases anteriores aplicando el rigor de lo descubierto por la ciencia hasta ahora, sin caer en la -anticientífica- "opinión científica/opinión de expertos".
- ⚪⑥ - Light6 Conocimiento Consolidado: Se alcanza al integrar todo lo anterior desde una perspectiva empática y asumiendo una verdad probabilística dinámica dependiente del contexto.
Sobre la categorización de los tipos de conocimiento
- Conocimiento Gnoseológico: ⚫① 🔴② 🟡③ 🟢④
- Conocimiento Epistemológico: 🔵⑤
- Conocimiento Metsukeológico: ⚪⑥
La Metsukeología (de Metsuke vision global y logos conocimiento) es la ciencia que estudia el conocimiento como un conjunto potencial de conocimiento del que podemos obtener, procesar o percibir partes concretas dentro de un marco contextual específico, y cuyo contexto general real está muy por encima de lo que somos capaces, como especie, de percibir, procesar e integrar de forma completa (definición en progreso).
La Metsucología (de Metsu aniquilación - en este contexto en forma de colapso - , logos conocimiento) es la ciencia que estudia como extraemos verdades percibidas - colapsadas - como conocimiento desde nuestra perspectiva real (tanto epistemológico como gnoseológico) al tomar una parte específica del conocimiento metsukeológico potencial enmarcado en un contexto concreto, obligando a colapsar el conocimiento potencial en conocimiento específico (definición en progreso).
Mas sobre el contexto
DISCLAIMER: Mi consideración de anticientífico respecto al consenso científico es una hipotesis de trabajo propia, que supone que toda asignación de validez, incluso aquella derivada de la conclusión por acumulación de evidencia NO debe ser supeditada a debate, ni acuerdo, debe ser algo probabilistico sin intervención del ego humano. Podría estar equivocado y, en este punto, es donde se aplicaría entonces ese mismo consenso que ahora considero no valido (incluso dañino)
Existen indicadores para algunas cuestiones adicoinales como los siguientes:
- 🌐 - Contenido Externo sobre cuya validez/validación no tenemos control (usualmente enlaces que salen de #MetsuOS)
- ⚖️ - Analisis
- ⚖️📚 - Análisis Bibligráfico
- ⚖️🔬 - Análisis Científico
- ⚖️🏛️ - Análisis Estructural
- ⚖️🧠 - Análisis Filosófico
- 📖 - Referencia
- 📖📚 - Referencia Bibliográfica / Libro
- 📖🔬- Referencia Científica / Paper
- 📖🏛️ - Referencia Estructural
- 📖🧠 - Referencia Filosófica
- 🔍️- Paradigma
Cuando hablamos de un contenido que incluye un texto que hace referencia a otro.
- 🔴②-🌐🟡③ - Nivel del contenido del documento Rojo2, nivel del contenido externo del que habla el documento Yellow3.
- 🔴②-⚖️📚 🔴② - Nivel del contenido del documento Rojo2, en base a análisis bibliográfico nivel Rojo2
También aplicaremos el Sistema de fiabilidad de fuentes y credibilidad de contenidos de la OTAN 🔴②, este sistema incluye una valoración de la fiabilidad de la fuente de A a F (siendo A la de mayor fiabilidad) y una varloración de credibilidad del contenido de 1 a 6 (siendo 1 la mayor credibilidad).
En MetsuOS la agregaremos al final uniendo amos valores como si fuera una coordenada. Por ejemplo: ⚫①-D4 o 🟡③-B2. Esto ayudarña a contextualizar la información sobre la solidez del conocimiento al que se hace referencia en cada momento.
Hay que tener en cuenta que, cuando hay elementos subjetivos o parcialmente subjetivos, el punto de referencia seré yo mismo. Quizá más adelante pueda objetivizar esto más (seria lo deseable), pero en tanto no tenga herramientas que me lo permitan, debo ceñirme al principio de honestidar intelectual, y esperar que mis sesgos dañen lo menos posible la información (en parte este es el nudo gordiano que pretendo resolver, y por ello es dificil resolverlo a priori).
Así de forma resumida, podríamos decir que esta definición es nivel 🔴② (Rojo2 xD) ¿Crees que me dejo algo? Si es así por favor ayudame a mejorarlo contactándome a través de X (Twitter) en mi cuenta, @metsuke 🌐
Consulta la versión completa de la descripcion en ⚫🔴🟡🟢🔵⚪ (🔴②) Un poco más de detalle
- Información IA: Generado asistido por IA (Gemini para articular documento en torno a conversaciones e investigacion previas.). Supervisado por Humano.
- Ultima Modificación: 2026-10-28 17:55:46.985000+00:00
- Versión Documento: 0.2.2
