Gossamer: un lenguaje de sistemas con sabor a Rust y goroutines reales

Fuentes: Gossamer: a Rust-flavoured systems language with real goroutines

Gossamer es un lenguaje de programación de código abierto, publicado bajo licencia Apache-2.0, que combina una sintaxis expresiva inspirada en Rust con características propias de Go, como las goroutines y los canales tipados. Se ejecuta sobre una máquina virtual de bytecode con REPL para iterar con rapidez y, mediante LLVM, se compila a un binario nativo sin dependencias listo para distribuir.

El lenguaje adopta inmutabilidad por defecto, pipes hacia adelante (|>) para encadenar transformaciones de forma legible y un único estilo canónico para resolver cada problema, de modo que el código fluye de arriba abajo tal como se escribe. Incorpora rasgos familiares de Rust: tipos Result y Option, operador ?, match exhaustivo, traits y genéricos, sin valores nulos. Quien ya programa en Rust, Go o F# puede leerlo sin curva de aprendizaje adicional.

La gestión de memoria es automática y sin pausas: un conteo de referencias determinista libera los objetos al instante, complementado por regiones de tipo arena (arena { }) que agrupan allocations con un ciclo de vida acotado. El modelo de concurrencia es M:N, con planificación de goroutines y canales tipados; las llamadas bloqueantes aparcan la goroutine, no el hilo, sin async/await ni "function colouring".

La biblioteca estándar cubre HTTP, JSON, criptografía, SQL y compresión, y existe una vía limpia para descender a Rust seguro cuando se requiera bajo nivel. El proyecto está en la versión 0.19.0 (pre-1.0), ofrece compatibilidad con Linux x86_64, aarch64 y armv7, macOS Intel y Apple Silicon, y Windows x86_64, y permite ejecutar ejemplos directamente en el navegador gracias a la compilación del VM a WebAssembly.