De Scheme al navegador con Hoot: la apuesta de un desarrollador por llevar código al WebAssembly

Fuentes: Scheme is a Hoot

Un desarrollador está aprendiendo Scheme y utilizándolo para implementar conceptos de sus clases de física con el objetivo de ejecutar el código en el navegador. Para ello recurre a Hoot, un compilador que traduce Scheme a WebAssembly y que permite ejecutar este lenguaje en la web sin depender de Emscripten. El autor describe Hoot como una herramienta impresionante pero todavía inestable (versión 0.9.0), con una documentación aceptable y mensajes de error en ocasiones crípticos.

Uno de los principales retos fue descubrir que Hoot no soporta cualquier programa Guile: las funciones específicas de Hoot obligan a reescribir partes del código y a importar manualmente módulos que normalmente se dan por sentadas en Guile nativo. Tras varios ajustes, ha logrado que su código funcione tanto en el intérprete nativo de Guile como compilado a WebAssembly mediante Hoot, con pruebas automáticas en ambos entornos para verificar la portabilidad.

El proyecto se encuentra todavía en fase de prototipo. Buena parte del trabajo se ha centrado en la lógica de backend y en los fundamentos físicos de las simulaciones, un reto añadido por su todavía baja experiencia con Scheme. El autor ha publicado una pequeña demostración en una página nueva de su sitio web y el código fuente en Codeberg. A corto plazo, planea explorar la combinación de Zig y Scheme compilados juntos al navegador con Hoot, una vía que considera prometedora aunque probablemente compleja.