POP-2000: un dialecto de POP-2 como lengua franca para sistemas diminutos

Fuentes: POP-2000, a lingua-franca POP-2 dialect

Un programador presenta POP-2000 (también llamado POP2K), un dialecto estandarizado del lenguaje POP-2 diseñado en los años setenta y utilizado en los mismos círculos que las primeras versiones de Lisp. El proyecto surge de la colaboración con Devine Lu Linvega, creador de Uxn, y busca crear una lengua franca entre los pequeños sistemas sobre los que ambos trabajan.

El autor, que anteriormente diseñaba lenguas construidas antes de interesarse por la programación, enumera las propiedades que busca en un lenguaje: máxima facilidad de implementación, sintaxis mínima, conjunto de características mínimo orientado al bootstrapping, algo de control de bajo nivel suficiente para escribir un sistema operativo y la posibilidad de ejecutarse en máquinas con unos 16 MiB de memoria, como la VM 'ok', o incluso menos, como Uxn o un 6502. Los lenguajes concatenativos y las máquinas virtuales de pila encajan bien con estos requisitos porque simplifican la tarea de escribir un compilador o intérprete.

POP-2 comparte esos mismos objetivos según los artículos originales de Edinburgh. Un POP-2 mínimo permite declarar variables, definir funciones, usar estructuras if/elseif/else, E/S con el operador => y bucles mediante etiquetas y saltos. Su naturaleza basada en pila hace que 'sum(5, 6) * 2' pueda reescribirse como '5; 6; sum(); * 2'.

POP-2000 añade a esa base soporte para programación de sistemas, con una gramática escrita en notación EBNF que el autor está ultimando. Planea publicar un repositorio con la especificación del estándar y una implementación de referencia en C dirigida a la VM 'ok'.