{{위키데이터 속성 추적}}
{{Infobox programming language
| name = GNU 가일<br />GNU Guile
| logo = GNU-Guile-logo.svg
| screenshot = <!-- (filename) -->
| screenshot caption = 
| paradigm = <!-- or: | paradigms = -->
| family = 리스프
| designer = Aubrey Jaffer, Tom Lord, Miles Bader
| developer = [[GNU 프로젝트]]
| released = {{시작 날짜와 나이|1993}}<ref name=blandy1997>Blandy 1997, p. 102.</ref>
| latest release version = 3.0.9<ref name="guile-3.0.9">{{웹 인용|url=https://www.gnu.org/software/guile/news/gnu-guile-309-released.html|title=GNU Guile 3.0.9 released|publisher=gnu.org}}</ref>
| latest release date = {{시작 날짜와 나이|2023|01|25|df=yes}}<ref name="guile-3.0.9"/>
| latest preview version =
| latest preview date =
| typing = 
| scope = 
| programming language = 
| platform = [[IA-32]], [[x86-64]], [[AArch64]], [[ARM 아키텍처|armel]], [[ARM 아키텍처|armhf]], [[MIPS 아키텍처|mips]], [[MIPS 아키텍처|mips64el]], [[MIPS 아키텍처|mipsel]], [[ppc64|ppc64el]], [[Linux on IBM Z|s390x]]
| operating system = [[리눅스]], [[BSD]], [[마이크로소프트 윈도우|윈도우]] ([[MinGW]] 또는 [[시그윈]]을 통해)
| license = [[GNU LGPL|LGPL-3.0-or-later]]
| file ext = .scm .go (가일 오브젝트)
| file format = <!-- or: | file formats = -->
| website = {{URL|//gnu.org/software/guile}}
| implementations = 
| dialects = 
| influenced by = 리스프, 스킴, SCM
| influenced = 
}}
'''GNU 가일'''(GNU Guile, GNU Ubiquitous Intelligent Language for Extensions<ref name="About Guile">{{웹 인용|url=https://www.gnu.org/software/guile/|title=GNU Guile (About Guile)|publisher=GNU Project|quote=Guile is the GNU Ubiquitous Intelligent Language for Extensions, the official extension language for the GNU operating system.}}</ref>)은 [[GNU 프로젝트]]를 위해 선호되는 [[스크립트 언어|확장 언어]]이다.<ref name="GNU coding standards">{{웹 인용|url=https://www.gnu.org/prep/standards/html_node/Source-Language.html|title=GNU coding standards, Which Languages to Use|publisher=GNU Project}}</ref> 프로그래밍 언어 [[스킴 (프로그래밍 언어)|스킴]]의 구현체를 특징으로 한다. 최초 버전은 1993년에 출시되었다.<ref name=blandy1997 /> 스킴 표준의 많은 부분들 외에도 가일 스킴에는 수많은 다른 프로그래밍 작업들을 위한 모듈화된 확장을 포함하고 있다.<ref name="Manual, API Reference">{{웹 인용|url=https://www.gnu.org/software/guile/manual/html_node/API-Reference.html|title=Guile Manual, API Reference|publisher=GNU Project}}</ref><ref name="Manual, Guile Modules">{{웹 인용|url=https://www.gnu.org/software/guile/manual/html_node/Guile-Modules.html|title=Guile Manual, Guile Modules|publisher=GNU Project}}</ref>

프로그램을 확장하기 위해 가일은 언어가 다른 프로그램에 임베디드될 수 있도록 하는 libguile을 제공하며 이렇게 하면 [[C (프로그래밍 언어)|C 언어]] [[API]]를 통해 밀접한 연동이 가능해진다. C API를 통해 정의되는 새로운 [[자료형]]과 [[함수 (컴퓨터 과학)|함수]]들은 가일의 확장 기능으로 생성이 가능하다.<ref name="Blandy quote C integration">"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 [[Subroutine|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 <code>scm_cons</code>, which is the underlying implementation of the Scheme procedures <code>[[cons]]</code>."  Blandy 1997, pp. 94, 96.</ref>

가일은 [[그누캐시]], [[릴리폰드]], [[GNU Guix]], [[GNU 디버거]], [[GNU TeXmacs]], 구글의 schism 등의 프로그램에 사용된다.<ref name="Applications using Guile">{{웹 인용|url=https://www.gnu.org/software/guile/#apps-using-guile |title=Applications using Guile |publisher=GNU Project |url-status=live |archive-url=https://web.archive.org/web/20171124105500/https://www.gnu.org/software/guile/#apps-using-guile |archive-date=2017-11-24 }}</ref>

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{공식 웹사이트}}
* [https://www.gnu.org/software/guile/manual/guile.html Guile Reference Manual] in one, long web page
* [http://savannah.gnu.org/git/?group=guile Source code] on the [[GNU Savannah]] software [[Forge (software)|forge]]
* [https://www.gnu.org/software/guile/guile.html What Is Guile?]
* [http://wingolog.org/archives/2009/01/07/a-brief-history-of-guile "A brief history of guile" (from the Guile manual)]
* [https://web.archive.org/web/20120528010540/http://www.network-theory.co.uk/articles/vollmer.html A 2003 interview with GNU Guile maintainer Marius Vollmer]

{{GNU}}

[[분류:자유 컴파일러와 인터프리터]]
[[분류:GNU 프로젝트 소프트웨어]]
[[분류:스크립트 언어]]