From Free Software Directory
Jump to: navigation, search


GNU Guile
The GNU Ubiquitous Intelligent Language for Extensions.

Guile is an implementation of the Scheme programming language, packaged for use in a wide variety of environments. In addition to implementing the R5RS, R6RS, and R7RS Scheme standards, Guile includes full access to POSIX system calls, networking support, multiple threads, dynamic linking, a foreign function call interface, powerful string processing, and HTTP client and server implementations.

Guile can run interactively, as a script interpreter, and as a Scheme compiler to VM bytecode. It is also packaged as a library so that applications can easily incorporate a complete Scheme interpreter/VM. An application can use Guile as an extension language, a clean and powerful configuration language, or as multi-purpose "glue" to connect primitives provided by the application. It is easy to call Scheme code from C code and vice versa. Applications can add new functions, data types, control structures, and even syntax to Guile, to create a domain-specific language tailored to the task at hand.

Guile's VM

Guile contains an efficient compiler and virtual machine. It can be used out of the box to write programs in Scheme, or can easily be integrated with C and C++ programs.

Guile is the GNU Ubiquitous Intelligent Language for Extensions, and the official extension language of the GNU project.



In addition to Scheme, Guile includes compiler front-ends for ECMAScript and Emacs Lisp.

The Guile VM was deliberately designed to support multiple languages. Guile Emacs was an attempt to run Elisp on Guile's VM, not rewrite Emacs in Scheme.

"IRC Help" IRC Help channel

Related Projects

Extensions, plug-ins, or add-ons for this program

GNU 8syncAsynchronous programming for Guile.
Guile DebbugsAccessing the Debbugs bug tracker with Guile.



Verified by

Verified on


Verified by


Verified on

21 May 2020

Verified by


Verified on

8 January 2021

Leaders and contributors

Andy Wingo Maintainer
Ludovic Courtès Co-maintainer

Resources and communication

AudienceResource typeURI
ForgeMailing List
Bug databaseBug Tracking
ForgeMailing List
ForgeMailing List
ForgeMailing List
ForgeVCS Repository Webview
ForgeMailing List
ForgeMailing List

Software prerequisites

Weak prerequisitereadline (for command line editing)

This entry (in part or in whole) was last reviewed on 8 January 2021.

Version comment

The latest release of Guile's 3.0.x series is 3.0.5 The latest release of Guile's legacy 2.2.x series is 2.2.7


Property "Submitted by" (as page type) with input value "{{{Submitted by}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
"{{{Submitted date}}}" contains an extrinsic dash or other characters that are invalid for a date interpretation.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.