Difference between revisions of "Guile"

From Free Software Directory
Jump to: navigation, search
(guile-3.0.5)
(desc & sig.)
 
Line 1: Line 1:
 
{{Entry
 
{{Entry
 
|Name=GNU Guile
 
|Name=GNU Guile
|Short description=GNU extensibility library.
+
|Short description=The GNU Ubiquitous Intelligent Language for Extensions.
|Full description='''Guile''' is the GNU Ubiquitous Intelligent Language for Extensions, the official extension language of the GNU system.  
+
|Full description='''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 is an implementation of the Scheme programming language, packaged as a library that can be linked into applications to give them their own extension language.  Guile supports other languages as well, giving users of Guile-based applications a choice of languages.
+
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 applicationIt 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.
 
|Homepage URL=https://www.gnu.org/software/guile/
 
|Homepage URL=https://www.gnu.org/software/guile/
 
|Is High Priority Project=No
 
|Is High Priority Project=No
Line 11: Line 17:
  
 
https://www.gnu.org/software/guile/learn
 
https://www.gnu.org/software/guile/learn
 +
 +
=== Notes ===
 +
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.
 
|Decommissioned or Obsolete=No
 
|Decommissioned or Obsolete=No
 
|Donate=https://my.fsf.org/donate/
 
|Donate=https://my.fsf.org/donate/
Line 40: Line 51:
 
{{Project license
 
{{Project license
 
|License=GPLv3orlater
 
|License=GPLv3orlater
|License verified by=Bendikker
+
|License verified by=Genium
 
|License verified date=2021/01/08
 
|License verified date=2021/01/08
 
|License note=Applies to part: Guile-Readline
 
|License note=Applies to part: Guile-Readline

Latest revision as of 11:23, 8 January 2021


[edit]

GNU Guile

https://www.gnu.org/software/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.





Licensing

License

Verified by

Verified on

Notes

Verified by

Genium

Verified on

21 May 2020

Verified by

Genium

Verified on

8 January 2021




Leaders and contributors

Contact(s)Role
Andy Wingo Maintainer
Ludovic Courtès Co-maintainer


Resources and communication

AudienceResource typeURI
Bug reportsE-mailbug-guile@gnu.org
PerlDeveloperhttps://metacpan.org/release/Guile
ForgeMailing Listhttps://lists.gnu.org/mailman/listinfo/guile-sources/
FTPDownloadhttps://alpha.gnu.org/gnu/guile/
ForgeMailing Listhttps://lists.gnu.org/mailman/listinfo/guile-commits/
Bug databaseBug Trackinghttp://debbugs.gnu.org/guile
DebianDeveloperhttps://tracker.debian.org/pkg/guile-2.2
LibrariesGeneralhttps://www.gnu.org/software/guile/libraries/
ForgeMailing Listhttps://lists.gnu.org/mailman/listinfo/guile-devel-internal/
FTPDownloadhttps://ftp.gnu.org/old-gnu/guile/
FTPDownloadhttps://ftp.gnu.org/gnu/guile/
ForgeVCS Repository Webviewhttps://git.savannah.gnu.org/cgit/guile.git/
DebianDeveloperhttps://tracker.debian.org/pkg/guile-3.0
ForgeMailing Listhttps://lists.gnu.org/mailman/listinfo/guile-devel/
ForgeMailing Listhttps://lists.gnu.org/mailman/listinfo/guile-user/
FTPGeneralhttps://ftpmirror.gnu.org/guile/
WikidataGeneralhttps://www.wikidata.org/wiki/Q1486208
ForgeMailing Listhttps://lists.gnu.org/mailman/listinfo/bug-guile/
ForgeDeveloperhttps://savannah.gnu.org/projects/guile/


Software prerequisites

KindDescription
Weak prerequisitereadline (for command line editing)




Entry













"Co-maintainer" is not in the list (Maintainer, Contributor, Developer, Sponsor, Unknown) of allowed values for the "Role" property.


"Bug database" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Bug reports" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Forge" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Forge" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Forge" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Forge" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Forge" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Forge" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Forge" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Forge" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"FTP" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"FTP" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"FTP" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"FTP" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Libraries" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Wikidata" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Debian" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Debian" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Perl" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.







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.