Difference between revisions of "Guile"

From Free Software Directory
Jump to: navigation, search
(updated version info)
m (GNU Guile 2.0.9 released - http://lists.gnu.org/archive/html/info-gnu/2013-04/msg00005.html)
Line 4: Line 4:
 
|Full description=An implementation of the Scheme programming language built to be used as an extension language. It's a library you can link into your programs. Your program has full access to the interpreter's data structure, so you can extend Guile with your own primitives, datatypes, and syntax, and tailor the language to your application. It also lets more people use your language, as they needn't learn the internals of your app. They just need to understand the language and the primitives you've provided, and they can trade and share ideas by passing around scripts without you. It has arrays, lists, modules, objects, first class functions, and garbage collection.
 
|Full description=An implementation of the Scheme programming language built to be used as an extension language. It's a library you can link into your programs. Your program has full access to the interpreter's data structure, so you can extend Guile with your own primitives, datatypes, and syntax, and tailor the language to your application. It also lets more people use your language, as they needn't learn the internals of your app. They just need to understand the language and the primitives you've provided, and they can trade and share ideas by passing around scripts without you. It has arrays, lists, modules, objects, first class functions, and garbage collection.
 
|Homepage URL=http://www.gnu.org/software/guile/guile.html
 
|Homepage URL=http://www.gnu.org/software/guile/guile.html
|Is GNU=Yes
 
 
|User level=none
 
|User level=none
 
|Computer languages=C, scheme
 
|Computer languages=C, scheme
Line 11: Line 10:
 
|Related projects=Autogen,Glame,Guile-gnome,slib,Ball_and_Paddle,Gurgle
 
|Related projects=Autogen,Glame,Guile-gnome,slib,Ball_and_Paddle,Gurgle
 
|Keywords=library,development,scheme,guile
 
|Keywords=library,development,scheme,guile
|Version identifier=2.0.5
+
|Version identifier=2.0.9
|Version date=2012/01/30
+
|Version date=2013/04/10
 
|Version status=stable
 
|Version status=stable
|Version download=ftp://ftp.gnu.org/gnu/guile/guile-2.0.5.tar.gz
+
|Version download=ftp://ftp.gnu.org/gnu/guile/guile-2.0.9.tar.gz
|Last review by=Andrew Engelbrecht
+
|Status=
 +
|Is GNU=Yes
 
}}
 
}}
 
{{Project license
 
{{Project license
Line 26: Line 26:
 
|Role=Maintainer
 
|Role=Maintainer
 
|Email=mvo@zagadka.de
 
|Email=mvo@zagadka.de
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Anthony Green
 
|Real name=Anthony Green
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
Line 35: Line 37:
 
|Role=Contributor
 
|Role=Contributor
 
|Email=bil@ccrma.stanford.edu
 
|Email=bil@ccrma.stanford.edu
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Dirk Herrmann
 
|Real name=Dirk Herrmann
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Gary Houston
 
|Real name=Gary Houston
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Greg Badros
 
|Real name=Greg Badros
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Greg Harvey
 
|Real name=Greg Harvey
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Jim Blandy
 
|Real name=Jim Blandy
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Jost Boekemeier
 
|Real name=Jost Boekemeier
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
Line 64: Line 73:
 
|Role=Contributor
 
|Role=Contributor
 
|Email=kxn30@yahoo.co.jp
 
|Email=kxn30@yahoo.co.jp
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Marc Feeley
 
|Real name=Marc Feeley
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Mark Galassi
 
|Real name=Mark Galassi
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Martin Grabmueller
 
|Real name=Martin Grabmueller
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Matthias Koeppe
 
|Real name=Matthias Koeppe
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Michael Livshin
 
|Real name=Michael Livshin
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Neil Jerram
 
|Real name=Neil Jerram
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Radey Shouman
 
|Real name=Radey Shouman
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Robert Merkel
 
|Real name=Robert Merkel
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Roland Orre
 
|Real name=Roland Orre
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Russell McManus
 
|Real name=Russell McManus
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
Line 109: Line 129:
 
|Role=Contributor
 
|Role=Contributor
 
|Email=stefan@lkcc.org
 
|Email=stefan@lkcc.org
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Thien-Thi Nguyen
 
|Real name=Thien-Thi Nguyen
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Thomas Tanner
 
|Real name=Thomas Tanner
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Tim Pierce
 
|Real name=Tim Pierce
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Tom Lord
 
|Real name=Tom Lord
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Tom Tromey
 
|Real name=Tom Tromey
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Person
 
{{Person
 
|Real name=Will Fitzgerald
 
|Real name=Will Fitzgerald
 
|Role=Contributor
 
|Role=Contributor
 +
|Resource URL=
 
}}
 
}}
 
{{Resource
 
{{Resource

Revision as of 06:43, 15 April 2013


[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.

Documentation

https://www.gnu.org/software/guile/manual/

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.

"IRC Help" IRC Help channel
irc://irc.freenode.net/#guile

Related Projects



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

GNU 8syncAsynchronous programming for Guile.https://www.gnu.org/software/8sync/
Guile DebbugsAccessing the Debbugs bug tracker with Guile.https://www.gnu.org/software/guile-debbugs/


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


Software prerequisites

KindDescription
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


Entry





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.