GNU has recently published the release of GNU Guile 3.0.10, a free implementation of the functional programming language Scheme. Guile supports the building of code in applications in other programming languages, making it a versatile tool for developers. It can be used to develop extensions for applications, configure components, and connect various primitives provided by the application. Guile is recognized as the official language development language for the GNU operating system.
The core of Guile is a virtual machine that executes a set of instructions generated by an optimizing compiler. The Guile virtual machine seamlessly integrates with application code in SI and SI++. In addition to Scheme, Guile also supports R5RS, R6RS, and R7RS. Compilers for other languages such as Ecmascript, Emacs Lisp, and Lua are also available. The package includes a library of modules with functions like HTTP protocol handling, XML parsing, and object-oriented programming methods.
Some notable changes in the latest release include:
- Implementation of an experimental interface for using third-party backends, giving developers the flexibility to use existing front ends and the Guile optimizer for code generation.
- Introduction of the external backend Hoot for generating WebAssembly intermediate code, with plans to make WebAssembly a main compilation target in Guile.
- Allowing the use of “define” definitions in expressions like “when,” “unless,” “cond,” “case,” “and-valt*,” and “with-fluids.”
- Support for custom ports described in the dialect of Scheme R6RS, allowing the connection of handlers for data transformation in functions like Read, Write, and Display. Guile also introduces “ICE-9 Soft-ports,” offering a simple alternative to Custom Ports.
- Integration of simplified syntax using