首页> 外文会议>International lisp conference 2007 >Simple and Efficient Compilation of List Comprehension in Common Lisp
【24h】

Simple and Efficient Compilation of List Comprehension in Common Lisp

机译:简单而有效的Lisp列表理解编译

获取原文
获取原文并翻译 | 示例

摘要

List Comprehension is a succinct syntactic form to describe lists in functional languages. It uses nested generators (i.e., iterators) and filters (i.e., Boolean expressions). The former generates lists, whereas the latter restricts the contents of these lists. List Comprehension translation is commonly based on Wadler's rules that emit code based on recursive functions. This code often results either in stack overflow or in inefficient execution for many Common Lisp implementations.rnWe present a very simple technique to compile List Comprehension in the Loop Facility of Common Lisp, resulting in efficient code that avoids stack overflow. Our translation code is also very short, with an emitted code very close to the user-specified list comprehension.rnWe also present a translation into more fundamental constructs of Common Lisp that often results in even more efficient code, although this translation is more complex than using the Loop Facility.rnThe author has used the first translation technique for compiling a new language called BioVelo, which is part of bioinformatics software called Pathway Tools [2].
机译:列表理解是一种简洁的语法形式,用于以功能语言描述列表。它使用嵌套的生成器(即迭代器)和过滤器(即布尔表达式)。前者生成列表,而后者限制这些列表的内容。列表理解翻译通常基于Wadler规则,后者基于递归函数发出代码。对于许多Common Lisp实现,此代码通常会导致堆栈溢出或执行效率低下。rn我们提出了一种非常简单的技术来编译Common Lisp循环功能中的列表理解,从而产生了可避免堆栈溢出的高效代码。我们的翻译代码也很短,发出的代码与用户指定的列表理解非常接近。rn我们还提供了对Common Lisp的更基本结构的翻译,该翻译通常会导致更高效的代码,尽管这种翻译比作者使用了第一种翻译技术来编译一种称为BioVelo的新语言,该语言是名为Pathway Tools的生物信息学软件的一部分[2]。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号