Loment
ES

Estándar

El estándar del lenguaje Loment

El lenguaje tiene un estándar con nombre y citable — LLS, el Loment Language Standard — y vive en el repositorio, junto al código que describe, en lugar de en esta página.

Para qué sirve, y qué se niega a ser

Un estándar existe para que «¿es correcta esta implementación?» tenga una respuesta que no dependa de a quién se pregunte. La mayoría de los estándares responden a eso enunciando ellos mismos las reglas. Este no: la regla del proyecto es que la copia autoritativa de cualquier cosa existe en un solo lugar, así que el estándar no enuncia reglas del lenguaje propias. Es un marco alrededor de las reglas, y todo lo que contiene o es un puntero a una única fuente o es una afirmación sobre qué significa la conformidad.

Con ese marco hace dos cosas. Fija la superficie — qué partes del lenguaje solo pueden cambiar mediante un procedimiento definido, y cuál es ese procedimiento. Y decide la conformidad, al nombrar el conjunto de criterios que la decide.

Qué decide la conformidad

No el documento, ni ninguna implementación. El estándar lo dice con todas las letras: cuando la prosa, una implementación y los criterios no coinciden, los criterios tienen razón. Un criterio que falla no puede hacerse pasar relajando el criterio — solo cambiando la implementación, o cambiando la superficie bajo el procedimiento.

Y lo que el conjunto no puede ver. Algunos criterios necesitan una herramienta que una máquina dada puede no tener, y se reportan omitidos en vez de aprobados — así que «verde» significa que los criterios que se ejecutaron estaban verdes. El estándar nombra cada uno, y también deja escrita la frase menos cómoda de todo el documento: el conjunto lo escribe el mismo autor que las implementaciones, así que dos implementaciones que coinciden son evidencia de que coinciden.

Los interruptores

El estándar describe Loment por sus interruptores en vez de por lo que le falta. Cada subsistema que el lenguaje puede tener — qué capa puede usar el programa, quién recupera la memoria, si el binario lleva un runtime, si tiene puertos al mundo, y para qué modelo de ejecución es — es un ajuste que el programa declara una vez, en su unidad raíz, y que la compilación registra. Los valores por defecto son las posiciones que mantienen el comportamiento de los programas existentes. Eso es una propiedad de los valores por defecto, no una afirmación sobre el lenguaje.

El estándar también traza una línea fácil de pasar por alto. Algunas combinaciones de interruptores se rechazan porque los dos valores significan cosas opuestas; otras se rechazan solo porque nadie las ha construido todavía. Un interruptor apagado no es un interruptor prohibido, y el estándar mantiene los dos aparte a propósito.