HeadlinesBriefing favicon HeadlinesBriefing.com

Diseño de lenguaje POP-2 para Uxn

Hacker News •
×

Una nueva implementación del lenguaje POP-2 apunta a la máquina virtual Uxn, con una sintaxis tipo ALGOL y un modelo de evaluación concatenativo profundamente concatenativo. A diferencia de los lenguajes tradicionales, POP-2 utiliza una pila de operandos explícita donde asignaciones como `123 -> foo` empujan valores antes de consumirlos. El compilador es notablemente compacto, con menos de 800 líneas y que cabe en 2.5kb de memoria.

La estructura del lenguaje se parece a Pascal con declaraciones lideradas por palabras clave terminadas por punto y coma. Las funciones devuelven múltiples valores dejando them en la pila para operaciones subsiguientes. El flujo de control incluye bloques `if/then/elseif/else/close` que empujan valores a la pila, y los bucles utilizan declaraciones `goto` explícitas. Las variables se declaran en bloques `vars` con longitudes de bytes configurables.

Las operaciones de E/S apuntan al sistema Varvara usando números de puerto (por ejemplo, `0x48 => 23` imprime "H" en el puerto de consola 0x17/0x18). Los arrays admiten aritmética de punteros mediante el prefijo `#` y llaves para desreferenciación de memoria. Una función completa de impresión de cadena demuestra el enfoque basado en la pila para la iteración y la salida. La implementación está escrita en Uxntal y alojada en intercatlang.incoming.