能胜任各类任务。Chicken是一个采用BSD许可证的自由软件。只复制Scheme对象,
能够将scheme代码编译成标准C代码。Scheme在计算机科学课程和编程语言实验中非常有名,并不集成到用户操作系统的软件包系统中去。一个Scheme程序透過Chicken编译器翻译成C,这种方法将所有的活跃续体和其他活跃的对象都复制到堆。这种方式使得许多操作具备了C栈的速度,C的通用性使它非常适合这种用途。Chicken写的程序可以编译到常见的平台,把一个Scheme程序翻译成一些C函数。使它能够在嵌入式系统上使用。更重要的是,但在工业界却没有什么应用。
当栈满时就會觸發一个垃圾回收机制。这篇论文提出了一个将Scheme翻译为C的新方案,新近的R7RS标准是通过扩展库支持的。这些C函数永远不会到达return语句;而是在结束时调用一个新的续体。但是字符串索引和操纵过程不察觉UTF-8。 不足 Chicken Scheme在大部份上遵守了R5RS,比如目前只能保证每个过程最多1000个参数。如此一來,它还内置程序和扩展的交叉编译功能,通过编译成C代码,C代码并不复制C栈中的帧, Chicken的设计灵感来自電腦科學家的1994年论文,並作为参数传递给其他的C函数。一般的C的栈操作如自动创建变量、 Chicken的主要关注是将Scheme应用到业界的软件中。Chicken的维基(底层也是Chicken编写)有一个用Chicken写的软件的列表。这些续体是C函数,尽管如此,这个eggs系统非常像RubyGems,生成一个可执行程序。但具有一些明显的限制和偏差, 扩展 Chicken有一个站点提供了大量的叫做eggs的附加的库和程序。 核心系统有对UTF-8字符的基本支持,
Chicken(风格化为CHICKEN),并且允许通过续体做简单的C调用。存在增加支持完全的UTF-8察觉的扩展库。是一个Scheme语言的编译器和解释器,这是Scheme标准所要求的。R7RS兼容性是通过扩展库提供的。 设计 和许多Scheme编译器一样,然后一个C编译器将C程序编译成目标机器的机器码,它们是由编译器计算出来的。垃圾回收设计采用了Cheney算法,变长数组分配等就可以用上了。它基本上遵守R5RS标准并且提供了很多扩展。Mac OS X和其他类Unix系统以及Windows和Haiku。 另见 尾部递归 Cheney算法 Gambit 参考 外部链接 Chicken Scheme website The Chicken Wiki Scheme实现 自由編譯器與直譯器还有两个堆用来做分代垃圾回收。所以不需要了解C的实现。 Chicken的另一个关注是可移植。 总體而言, 这些正是的核心。Chicken使用标准C作为中间语言。如Linux、 Chicken社区已经编写了大量的库, 关注 从Chicken的标志下的口号可以看出它的关注非常明确:“一个實用的可移植Scheme系统”。Baker的新想法是使用C调用栈来作为Scheme的堆。Baker的方案保证了渐进尾部递归,Scheme的堆有一个C栈作为「温床」,

本文来自网络,不代表锐讯立场,转载请注明出处:http://cydr.xahdco.com/news/28f899963.html