GNU Guile是GNU项目的首选解释器,具有Scheme编程语言的实现。 诡计 包括许多任务的模块化扩展 编程,例如对POSIX系统的调用。
为了扩展程序,Guile具有libguile, 一个允许将其插入其他程序并使用C编程语言的应用程序编程接口(API)进行准确集成的库,与此类似,通过此API定义的新类型和子例程可以作为Guile扩展提供给用户。
支持以其他编程语言将代码嵌入到应用程序中的能力。 Guile可用作开发应用程序扩展,定义配置或开发组件以连接应用程序提供的各种原语的语言。 Guile是GNU操作系统的官方扩展开发语言。
关于格努吉尔
的核心 Guile是高效的虚拟机 它执行由特殊优化编译器生成的可移植指令集。 虚拟机 Guile与C和C ++应用程序代码无缝集成。
除了Scheme语言之外, 支持R5RS,R6RS和R7RS规范,Guile项目还开发了其他语言的编译器,例如ECMAScript,Emacs Lisp和Lua(正在开发中)。
Guile Scheme的主要思想是让开发人员实现关键算法 C或C ++中的数据结构,并导出供解释的代码使用的函数和类型。
因此,可以使用通过C API实现的新类型和子例程来扩展Guile Scheme和由Guile实现的其他语言。
标准发行版提供了用于POSIX系统调用,调度程序,外部函数接口,基于SXML,SXPath和SXSLT的XML处理的表达式的模块。
它还包括HTTP协议和其他Web API,限制连续,矢量编程和其他功能。 用Guile编写的程序可以使用Scheme的可移植库SLIB的功能。
该软件包包括一个模块库,这些模块实现标准的服务功能,例如使用HTTP协议,XML解析以及使用面向对象的编程方法。
GNU Guile 3.0的主要新功能
GNU Guile 3.0的一项关键创新是 JIT编译器的外观除了以前建议的字节码编译器和解释器外,它还以特殊的虚拟机运行,该虚拟机以库的形式链接到应用程序。
JIT允许您即时生成机器代码 并显着加快了Guile应用程序的执行速度(测试显示加速高达4倍)。 JIT编译器 支持x86-64,i686,ARMv7和AArch64体系结构。
还 突出显示已添加了对新Scheme R7RS语言规范的支持 以及其中定义的库模块。
En http-request,http-get 以及与Web客户端相关的其他过程,已经添加了使用TLS通过加密的通信通道下载内容的功能以及正确的证书验证。
在虚拟机的侧面l Guile,进行了改进以支持字节码 低等级, 允许您应用高级优化。
其他变化 在此新版本中合并的:
- 支持组合定义和内部定义的定义(定义_(开始(foo)#f)).
- 结构化数据类型的统一实现(«记录«)。
- 异常处理原语(引发和捕获)已经过重新设计。
- 链接是为扩展语法定义的 “其他“”=>“”...« y «_»。
如何安装Gnu Guile 3.0?
对于那些有兴趣安装Guile的人 在您的系统上,您可以下载应用程序的源代码并进行编译。
对于这 我们必须打开一个终端,然后在其中键入:
wget -r ftp://ftp.gnu.org/gnu/guile/guile-3.0.0.tar.gz
现在 我们将编译为:
zcat guile-3.0.0.tar.gz | tar xvf -
cd guile-3.0.0
./configure
make
make install