GNU 가일(GNU Guile, GNU Ubiquitous Intelligent Language for Extensions[3])은 GNU 프로젝트를 위해 선호되는 확장 언어이다.[4] 프로그래밍 언어 스킴의 구현체를 특징으로 한다. 최초 버전은 1993년에 출시되었다.[1] 스킴 표준의 많은 부분들 외에도 가일 스킴에는 수많은 다른 프로그래밍 작업들을 위한 모듈화된 확장을 포함하고 있다.[5][6]

GNU 가일
GNU Guile
계열리스프
설계자Aubrey Jaffer, Tom Lord, Miles Bader
개발자GNU 프로젝트
발표일1993년(31년 전)(1993)[1]
최근 버전3.0.9[2]
최근 버전 출시일2023년 1월 25일(15개월 전)(2023-01-25)[2]
플랫폼IA-32, x86-64, AArch64, armel, armhf, mips, mips64el, mipsel, ppc64el, s390x
운영 체제리눅스, BSD, 윈도우 (MinGW 또는 시그윈을 통해)
라이선스LGPL-3.0-or-later
파일 확장자.scm .go (가일 오브젝트)
웹사이트gnu.org/software/guile
영향을 받은 언어
리스프, 스킴, SCM

프로그램을 확장하기 위해 가일은 언어가 다른 프로그램에 임베디드될 수 있도록 하는 libguile을 제공하며 이렇게 하면 C 언어 API를 통해 밀접한 연동이 가능해진다. C API를 통해 정의되는 새로운 자료형함수들은 가일의 확장 기능으로 생성이 가능하다.[7]

가일은 그누캐시, 릴리폰드, GNU Guix, GNU 디버거, GNU TeXmacs, 구글의 schism 등의 프로그램에 사용된다.[8]

각주 편집

  1. Blandy 1997, p. 102.
  2. “GNU Guile 3.0.9 released”. gnu.org. 
  3. “GNU Guile (About Guile)”. GNU Project. Guile is the GNU Ubiquitous Intelligent Language for Extensions, the official extension language for the GNU operating system. 
  4. “GNU coding standards, Which Languages to Use”. GNU Project. 
  5. “Guile Manual, API Reference”. GNU Project. 
  6. “Guile Manual, Guile Modules”. GNU Project. 
  7. "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.
  8. “Applications using Guile”. GNU Project. 2017년 11월 24일에 원본 문서에서 보존된 문서. 

외부 링크 편집