Sistema de programación puramente web
Un sistema de programación puramente web permite a los desarrolladores compilar y ejecutar código en el navegador sin necesidad de un servidor. Este sistema, llamado Goeteia, está construido en Scheme y utiliza WebAssembly para compilar el código en el navegador.
Entre los componentes clave de Goeteia se encuentran un compilador escrito en Scheme que se compila a sí mismo, lo que garantiza la consistencia del código generado. El sistema también incluye un recolector de basura para objetos WebAssembly y soporte para macros higiénicas, cierres y llamadas de cola. Además, Goeteia proporciona una pila web reactiva que incluye plantillas, señales y un interfaz de programación de aplicaciones para interactuar con el host.
“Entre los componentes clave de Goeteia se encuentran un compilador escrito en Scheme que se compila a sí mismo, lo que garantiza la consistencia del código generado”
Goeteia se puede utilizar para compilar y ejecutar código en cualquier motor que soporte WebAssembly con recolección de basura y llamadas de cola, como Node 22+, Chrome, Firefox, Safari y wasmtime. Para compilar el sistema desde su fuente, se requiere Chez Scheme, aunque el compilador wasm incluido funciona sin necesidad de esta herramienta. El sistema también incluye una serie de bibliotecas y herramientas para facilitar el desarrollo, como un sistema de módulos y una interfaz de programación de aplicaciones para interactuar con el host.
El funcionamiento de Goeteia se basa en la compilación del código Scheme a WebAssembly en el navegador, lo que permite una ejecución rápida y eficiente del código. El sistema también incluye un conjunto de herramientas y bibliotecas para facilitar el desarrollo de aplicaciones web, como una pila web reactiva y un sistema de módulos. En resumen, Goeteia es un sistema de programación puramente web que permite a los desarrolladores compilar y ejecutar código en el navegador sin necesidad de un servidor, y que incluye una serie de herramientas y bibliotecas para facilitar el desarrollo de aplicaciones web.