Versiones
Historial de versiones
Desde el primer Loment hasta el que se publica ahora. Cada entrada dice para qué servía esa versión en concreto — y dónde vive su registro, porque las primeras se publicaron desde otro repositorio y este no lleva sus etiquetas.
Esta es la única página del sitio que nombra versiones. En todo lo demás el
enlace de descarga dice releases/latest, porque un número de versión escrito en
una página es un dato con fecha de caducidad. Aquí las versiones son el tema, así
que se nombran y cada una apunta a lo que realmente se publicó. Nada de esto es una
promesa sobre una versión que no se ha publicado.
Antes de este repositorio
Las primeras seis versiones salieron del repositorio anterior del proyecto. Sus etiquetas no están en este, ni tampoco sus fechas, así que lo que sigue es la forma de la línea y no un registro con fechas — y aquí nada enlaza a ninguna parte, porque no hay nada a lo que enlazar.
0.1.1 — el primer Loment
Un subconjunto estricto de la sintaxis de Rust. Esa fue la restricción inicial y no un estilo: el lenguaje quedaba definido por lo que Rust ya había resuelto, así que había muy poco que discutir y un compilador que construir. Ya no pretende ser un subconjunto — el solapamiento sigue ahí, la afirmación se abandonó cuando la superficie lo rebasó.
0.1.2 Alpha — el primer autoalojado
El lenguaje empieza a escribirse en sí mismo. Lo que eso aporta no es elegancia: un compilador escrito en el lenguaje que compila es la única forma de averiguar qué es lo que el lenguaje no puede expresar.
0.1.2 pre1 — reparaciones
Los problemas que sacó a la luz el primer autoalojado. Un prelanzamiento es donde se supone que ocurre ese tipo de cosas.
0.1.2 pre2 — la base que sigue en pie
El fundamento de arranque sobre el que se construye cada versión posterior: un compilador que se reconstruye a sí mismo a partir de una semilla de arranque confirmada en el repositorio, y una comprobación de que la semilla reconstruida es igual a aquella con la que empezó.
0.1.3 Alpha — llega la idea de multisintaxis
La primera versión en la que el código fuente de otro lenguaje puede leerse como Loment. El significado es siempre el de este lenguaje; solo se toma prestada la grafía. Es el argumento fundacional del proyecto y no una función añadida encima, y por eso figura aquí y no bajo "qué más es diferente".
0.1.3.4 Alpha — el ciclo se cierra
Las cuatro etapas — analizador léxico, analizador sintáctico, comprobador y generador de código — escritas en Loment, y el resultado alcanza un punto fijo de tres etapas. Es la última de las versiones publicadas desde el repositorio anterior, y aquella contra la que se mide toda versión posterior: es la versión en la que el lenguaje y el compilador dejaron de necesitar un anfitrión para definirse.
De este repositorio
Las cuatro versiones que salieron de este repositorio antes de la que se publica ahora. Cada una es una fila y no una sección por la razón que un registro debe dar: el detalle está en la página de la versión a la que enlaza, y una historia que sigue creciendo entera deja de ser historia y se convierte en una segunda copia del archivo.
0.1.4 Pre — el primer Loment instalable
2026-09-22. Se publicó como prelanzamiento por una sola razón: para que «el repositorio tiene versiones» deje de ser una afirmación y pase a ser algo que se puede mirar. Un detalle de cómo se hizo sigue en pie — la etiqueta apunta a un commit anterior al que se usó para construir los archivos, así que los archivos de código fuente que genera GitHub son el árbol previo a esa compilación.
0.1.4 — usable
2026-09-23. El tema era ser usable, no tener más cosas: no cambió la sintaxis, y el esfuerzo se fue en sacar del camino lo último del intérprete. Su instalador de Windows no hace nada en máquinas configuradas para no buscar en el directorio actual; instala desde el zip si quieres esta versión.
0.1.4.5 — reclamación, y un runtime que es una garantía
2026-10-13. La escalera de reclamación de cuatro peldaños con una mitad
adaptativa y otra generacional; no_runtime pasó de declaración a garantía; red
en ambos objetivos; y la quinta dimensión, vm, llegó con su compuerta de
versión cerrada. Un parche del mismo día cambió solo el instalador de Windows.
0.1.4.6 — las compuertas bajan
2026-10-17. Cuatro cosas que estaban construidas pero se mantenían
fuera de una versión se volvieron alcanzables de una vez: un nivel de intérprete junto
al compilador, libc y LibL, y el ajuste vm. El resto fue el mayor barrido
de defectos anterior a 0.1.4.7.
0.1.4.7 — las bibliotecas se vuelven gemelas
2026-10-18. Una versión de defectos, y el titular no es una función: cada biblioteca que envía el paquete compila ahora a IR idéntico byte a byte en las dos implementaciones — 155 módulos, ninguno omitido, sin huecos conocidos, fijado por un criterio que se pone rojo cuando la lista crece. Llegar ahí destapó errores de estado silenciosos, no la divergencia que parecían desde fuera.
Nuevo
-
Las bibliotecas enviadas son gemelas. Cada módulo del almacén se compila
como raíz con ambos compiladores y el IR se compara byte a byte. La fachada
stdqueda excluida por nombre y por criterio — no tiene funciones, y sus 127 módulos se comparan por separado. -
Una tabla de constantes en el compilador autoalojado.
find_constya no recorre la unidad entera por identificador, que es lo que hacía que la fachada tardara decenas de minutos en compilar.
Corregido
-
Los errores de estado que destapó el criterio de gemelos. Un
matchde cuatro brazos sobrescribía el indicadorgc_auto_alpha, así que una unidad que no era alpha se compilaba como alpha; las conversiones encadenadas hacían solo el primer paso; los literales decimales de 64 bits no se envolvían; las llamadas a intrínsecos no tenían tipo de retorno en la inferencia; los operandos de desplazamiento heredaban la expectativa de 64 bits externa; y los centinelas de tipo virtual se confundían con índices de token. -
Treinta y cinco defectos del barrido, cada uno con un criterio que se ponía rojo
primero. La biblioteca estándar, diez analizadores de
internet, el decodificador de la forma compacta de la VM, cuatro casos del servidor de lenguaje, JSON/CSV/rutas/formato, tres correcciones en las fronteras de nivel del runtime de la VM, y un paso de dependencias que entregaba a cada unidad el programa entero en lugar de su propio cierre. -
Capacidad que se agotó. La tabla de símbolos del verificador ahora
aloja 5200 entradas; el cierre de la fachada
stdtiene 4956 nombres de nivel superior.
Lo que no trae esta versión
Nada de lo ya construido se abre en esta versión — no levanta ninguna compuerta. El
intérprete sigue sin estar en el paquete: choose vm continúa
siendo una declaración, y es 0.1.5 donde un artefacto podrá entregarse de verdad a un motor.
Dónde está el estado actual
Esta página es historia. Lo que el proyecto puede hacer hoy está en el resto del sitio y en el repositorio, y lo que pretende hacer después está en la hoja de ruta — que está escrita como un plan y lo dice.