WordNet
- free of deceit (同)transparent
- filled with wonder and delight (同)captivated, charmed, delighted, enthralled, entranced
PrepTutorEJDIC
- 悪知恵,ずるさ,こうかつ
- 〈人〉'を'だます,たぶらかす(deceive) / (…で)〈時〉'を'楽過ごす,〈暇・たいくつなど〉'を'紛らす《+『名』+『with』+『名』》
- 正直な,率直な,素朴(そぼく)な
- ずるい,悪知恵の働く,こうかつな
Wikipedia preview
出典(authority):フリー百科事典『ウィキペディア(Wikipedia)』「2014/05/23 06:23:56」(JST)
[Wiki ja表示]
GNU Guile
|
開発元 |
Free Software Foundation |
対応OS |
GNU |
種別 |
プログラミング言語 |
ライセンス |
GNU Lesser General Public License |
公式サイト |
http://www.gnu.org/software/guile/ |
国際標準 |
R5RS |
テンプレートを表示 |
GNU Guile は プログラミング言語 Scheme のインタープリタ/バーチャルマシン。1993年に初めてリリースされた[1]。 GuileはPOSIXシステムコールのモジュール化された拡張やAPL アレイの機能などを含み、オブジェクト[2] ライブラリとしてパッケージングされている。「Libguile」を使うことで、Guileを他のプログラムの中に組み込んで、 他言語との密接な統合が可能なインターフェースとして使用することができる[3]。
名前「Guile」は「GNU's ubiquitous interactive language for extension」から来ている。後付けのものではないが(注を参照)公式ウェブページの冒頭にあらわれたのは2011年の春頃である[4]。
GuileはGNUプロジェクトの「公式の」 拡張言語であるが、 2006年の時点で、人気のあるプロジェクトの中でこの言語を使っているものは十指に満たない。その名称については、Usenetでの議論の中で、リー・トーマス(英語版)[5]によって提唱された。 基本的なアイデアは、「開発者は基本的なアルゴリズムやデータ構造はCやC++に実装し、機能や型をインタープリタ用のコードにエクスポートする。アプリケーションはインタープリタが統括するプリミティブのライブラリとなることで、コンパイルされたコードの効率とインタープリタの柔軟性の双方を備えることができる。」というものである[6]。
目次
- 1 Scheme標準への遵守
- 2 歴史
- 3 Guileを使用しているプログラム
- 4 脚注
- 5 参考文献
- 6 外部リンク
Scheme標準への遵守
その歴史の多くの部分において、Guileは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]
現在のGuileでは、空のリストとブーリアン型の#f
は区別される。シンボルの大文字/小文字は区別されるが、Guileのレキシカルスキャナ兼パーサである reader procedure における分岐により、Guileはシンボルでの大文字/小文字の区別をやめることができる。最近採用されたScheme標準R6RSは、R5RS以前の標準から離れて、大文字/小文字の区別をデフォルトとして採用している。
Guileとアプリケーションとの密接な連携にはコストが伴う。Schemeは再帰を頻繁に行うので、末尾再帰を最適化した実装を要求するが、ほとんどのテクニックは相互運用性を損なうものである。Guileは、純粋にSchemeの関数やプログラムの中で末尾再帰を最適化するよう妥協し、C言語の関数が視野に入ったときは末尾再帰をあきらめるということを強いられる[8]。Scheme標準のもうひとつの要求であるcall/cc(英語版)の実装も、不満足なものである。— C言語で継続を扱うには、C言語のスタック全体をヒープにコピーすることが必要になる[9]。ガベージコレクションもまた、効率的なものとはなりえない。C言語のコードはSchemeのコードへのポインタを持つことができなければならないからだ。必要なconsセルの消失を避けるためには、Guileのガベージコレクタは保守的なものにならざるを得ず、再利用される可能性のあるセルを失う可能性がある[10]。
歴史
Guileはリチャード・ストールマンによって始められた(のちに「Tcl戦争」と呼ばれることになる)白熱した議論にその起源を発する。ストールマンは、Tclはアプリケーションを記述するには力不足だとし、GNUのアプリケーションを拡張するためにふさわしい言語としてSchemeを提唱して、その結果、Guileプロジェクトが始められた[11] 。 当時、適当なSchemeインタプリタがなかったため、Guileは「隙間」を埋めるために開発された。(のちにarchの開発者となる)トム・ロード[12]はシグナスソリューションズ[13]で働いている間にGuileの開発に深くのめりこんだ。初期のバージョンは、1995年よりも以前にSIOD(英: Scheme In One Day[14])やSCMインタープリタ[15]から派生した[16]。
Guileの目標のひとつは、他の言語からSchemeさらにはポータブルな バイトコードへの翻訳を可能にすることである。そうすることで、Guileは効果的な言語中立のランタイム環境となることができる。この目標はいまだ達成されていないが、多くの努力がなされてきた(C言語と類似する構文を持たない他のScheme方言からの、Emacs Lispからの、TkWWWの関係で実装されたTclからの、そしてLOGOの類似言語からの変換が報告されている)。
Guile Scheme はXML、XPath、XSLT を(SXML、SXPath、SXSLT それぞれにおいて)サポートしている。 S式に基づいたXML処理が guile-lib によって提供されている。
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
- Snd
- TkWWW(英語版) — GNUが作成した無料のウェブブラウザー。Tk を使って作成されており、拡張も可能。
- GNU make
脚注
- ^ 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 procedures cons
.」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 the longjmp
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 (En). 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.
外部リンク
- GNU Guile 公式ウェブサイト
- Archives of the Tcl Wars
- A 2003 interview with GNU Guile maintainer Marius Vollmer
- 「a brief history of guile」(Guile説明書より)
GNUプロジェクト |
|
歴史 |
- GNU宣言
- GNUプロジェクト
- フリーソフトウェア財団
- フリーソフトウェアの定義
- フリーソフトウェアの歴史(英語版)
|
|
|
GNUライセンス |
- GNU General Public License
- GNU Lesser General Public License
- Affero General Public License
- GNU Free Documentation License
- GPLリンク例外
|
|
ソフトウェア |
- GNU(派生(英語版))
- Hurd
- GNOME
- Gnuzilla (IceCat)
- Gnash
- Bash
- GCC
- GNU Emacs
- glibc
- Gnulib
- Coreutils
- GNUstep
- Autotools
- Bazaar
- LilyPond
- その他...
|
|
代表者 |
- アレシャンドリ・オリヴァ
- ベンジャミン・マコ・ヒル
- ブラッドリー・M・クーン
- エベン・モグレン
- フェデリコ・ハインツ
- ゲオルク・C・F・グレーフェ
- レオナルド・H・タワー・ジュニア(英語版)
- ロイク・ダシャリー(英語版)
- リカルド・ガリ(英語版)
- リチャード・ストールマン
- ロバート・J・シャッセル(英語版)
- ジョン・サリバン
|
|
その他 |
- GNU/Linux名称論争
- Revolution OS
- BadVista
- Defective by Design
|
|
[Wiki en表示]
Guile may refer to:
- GNU Guile, an implementation of the Scheme programming language
- Guile (Street Fighter), a video game character from the Street Fighter series
- Guile (Chrono Cross), a video game character from Chrono Cross
- Guile Island, Antarctica
- Melanie Guile (born 1949), Australian writer
- Guilé Foundation, a Swiss organisation for business ethics
English Journal
- Veterinary team interactions, part 2: the personal effect.
- Kinnison T1, Guile D2, May SA1.
- The Veterinary record.Vet Rec.2015 Nov 28;177(21):541. doi: 10.1136/vr.103313. Epub 2015 Oct 21.
- Modern veterinary practices consist of multiple professions/occupations, often spread over multiple branches. Within these teams are identifiable 'key people' who are central to information and resource flow. Key people are frequently the appointed leaders, such as practice managers, but also includ
- PMID 26489995
- Errors in veterinary practice: preliminary lessons for building better veterinary teams.
- Kinnison T1, Guile D2, May SA3.
- The Veterinary record.Vet Rec.2015 Nov 14;177(19):492. doi: 10.1136/vr.103327. Epub 2015 Oct 22.
- Case studies in two typical UK veterinary practices were undertaken to explore teamwork, including interprofessional working. Each study involved one week of whole team observation based on practice locations (reception, operating theatre), one week of shadowing six focus individuals (veterinary sur
- PMID 26494771
- Gram-negative bacteraemia; a multi-centre prospective evaluation of empiric antibiotic therapy and outcome in English acute hospitals.
- Fitzpatrick JM1, Biswas JS2, Edgeworth JD2, Islam J3, Jenkins N4, Judge R5, Lavery AJ6, Melzer M7, Morris-Jones S6, Nsutebu EF8, Peters J1, Pillay DG4, Pink F7, Price JR9, Scarborough M10, Thwaites GE11, Tilley R5, Walker AS12, Llewelyn MJ13; United Kingdom Clinical Infection Research Group.
- Clinical microbiology and infection : the official publication of the European Society of Clinical Microbiology and Infectious Diseases.Clin Microbiol Infect.2015 Nov 11. pii: S1198-743X(15)00974-X. doi: 10.1016/j.cmi.2015.10.034. [Epub ahead of print]
- Increasing antibiotic resistance makes choosing antibiotics for suspected Gram-negative infection challenging. This study set out to identify key determinants of mortality among patients with Gram-negative bacteraemia, focusing particularly on the importance of appropriate empiric antibiotic treatme
- PMID 26577143
Japanese Journal
- Work-based Learning: the educational policy and intellectual context and their consequences
- Guile David
- Lifelong education and libraries (9), 37-44, 2009-03
- The main aim of this paper is to explain the policy and intellectual background that has created the context in UK universities for work-based degrees at Honours and Master Level and inaugurated a tra …
- NAID 120001444464
- Making Southeast Asia Studies accessible in the ESL classroom: Developing, piloting and implementing pedagogy and instructional materials for Japanese and other non-English speaking university students
- Under (mostly) Western Eyes: Resident Foreigners' Image of Okinawa
Related Links
- What is Guile? What can it do for you? Guile is the GNU Ubiquitous Intelligent Language for Extensions, the official extension language for the GNU operating system. Guile is a library designed to help programmers create ...
- Scheme はプログラミング言語ですが、Scheme のインタープリターおよびライブラリーである Guile は Scheme を組み込みスクリプト言語に変身させます。そんな Guile は、静的アプリケーションに動的な新しい機能をもたらすには理想的な手段 ...
Related Pictures