GNU Guile
Free Software Foundation | |
リポジトリ | |
GNUプロジェクト | |
R5RS | |
プログラミング | |
ライセンス | GNU Lesser General Public License |
http://www.gnu.org/software/guile/ |
GNU Guile は、プログラミング
GuileはGNUプロジェクトの「
Scheme標準 への遵守
[その
The Guile version of Scheme differs from standard Scheme ([Clinger]) in two ways. First, in Guile Scheme, symbols are case sensitive. Second, in Guile Scheme, there is no distinction made between the empty list and boolean false (between
'()
and#f
).[7]
#f
は
Guileとアプリケーションとの
歴史
[Guileはリチャード・ストールマンによって
Guileの
Guile Scheme はXML、XPath、XSLT を(SXML、SXPath、SXSLT それぞれにおいて)サポートしている。 S
GuileはポータブルなSchemeライブラリSLIBをサポートする。
Guileを使用 しているプログラム
[- AisleRiot - GNOME Games パッケージの
一部 [17] - gEDA
- GNU Anubis
- GnuCash
- Denemo
- GNU LilyPond
- GNU MDK
- GNU Robots
- GNU Serveez
- GNU TeXmacs
- GnoTime[18]
- Liquid War 6
- mcron — Vixie cron の
代替 品 。上位 互換 である。[19] - OpenCog[20]
- Scwm
- Skribilo
- TkWWW — GNUが
作成 した無料 のウェブブラウザー。Tk を使 って作成 されており、拡張 も可能 。 - GNU make
- GNU GUIX
- GNU DMD
- GNU Artanis
脚注
[- ^ Blandy 1997, p. 102.
- ^ 「Strictly speaking, Guile is an object library, not an executable.」 、Blandy、1997
年 , p.89. - ^ 「To encourage customization, Guile provides extensive interfaces, allowing C code to interact with the Scheme world. C code can freely create, access, and mutate Scheme objects; C functions may call Scheme functions and vice versa; C code may add new types to the Scheme world and take advantage of Guile's garbage collection… Most of the standard Scheme procedures are implemented by C functions, visible to Guile clients; for example, applications can call the C function
scm_cons
, which is the underlying implementation of the Scheme procedurescons
.」Blandy、1997年 , pp. 94, 96. - ^ Internet Archive Weyback Machine で
確認 。2011年 1月 1日 のスナップショットには無 いが、同年 5月 14日 のアーカイブにはある。1997年 7月 のGNU's Bulletin, vol. 1 no. 23 で確認 できるので、後 付 けではない。 - ^ 「The name Guile was first suggested in a Usenet discussion by Lee Thomas.」、Guile Scheme 1995
年 - ^ Blandy 1997
年 、pp 87. - ^ 「An Anatomy of Guile, The Interface to Tcl/Tk」、1995
年 - ^ Blandy 1997, p. 99.
- ^ 「Because Guile allows C functions and Scheme functions to call each other freely, a Guile continuation may include both C and Scheme stack frames. For simplicity, Guile's implementation of
call/cc
copies the entire C stack into the heap; invoking a continuation copies the stack back from the heap and uses thelongjmp
function to reactivate it. This implementation has a number of drawbacks…」Blandy、1997年 、p. 99. - ^ Blandy、1997
年 、pp. 99–100. - ^ Tcl war.
- ^
英 : Tom Lord - ^
英 : Cygnus Solutions。後 にレッドハットによって買収 された。 - ^ SIOD.
- ^ 「It's hard to determine just who designed Guile. A large share of the credit surely belongs to Aubrey Jaffer whose excellent Scheme interpreter, SCM, forms the core of the implementation. The module system was designed and built by Miles Bader…」、 An Anatomy of Guile, The Interface to Tcl/Tk、1995
年 - ^ 「Here is a very, very brief history of this interpreter. I hope that people involved in its past will contribute more to this document. SIOD: George Carrette wrote SIOD, the earliest version. Although most of this code as been rewritten or replaced over time, the garbage collector from SIOD is still an important part of Guile. SIOD is still actively developed and freely available (search for "siod"). It has a very small footprint.」Guile Scheme、1995
年 - ^ 「The rules for the games have been coded for your pleasure in the GNOME scripting language (Scheme).」
- ^ GnoTime
- ^ 「It is written in pure Guile, and allows configuration files to be written in scheme (as well as Vixie's original format) for infinite flexibility in specifying when jobs should be run.」GNUプロジェクト mcron
- ^ OpencCog
参考 文献
[- 「Guile Scheme」—
仕様 と履歴 © FSF(1995年 12月 ) - 「An Anatomy of Guile, The Interface to Tcl/Tk」(1995
年 ) - Blandy, Jim (1998). Peter H. Salus. ed (
英語 ). Guile: An Interpreter Core for Complete Applications, Handbook of Programming Languages : Functional and Logic Programming Languages. Volume IV (1st ed.). Indianapolis, IN: マクミラン・テクニカル出版 . pp. 87–104. ISBN 1-57870-011-6. OCLC 426167659