首页> 外文学位 >Higher-order functional languages and intensional logic.
【24h】

Higher-order functional languages and intensional logic.

机译:高阶功能语言和内涵逻辑。

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

摘要

The purpose of this dissertation is to demonstrate that higher-order functional programs can be transformed into zero-order intensional ones in a semantics preserving way. As there exists a straightforward execution model for the resulting intensional programs, the practical outcome of our research is a promising, well-defined implementation technique for functional languages. On the foundational side, the goal of our study is to bring new insights and a better understanding of the nature of functional programming.;The starting point of our research is the work of A. Yaghi (Yag84) and W. Wadge (Wad91), who were the first to define transformation algorithms from functional to intensional languages. More specifically, Yaghi studied the first-order subset of functional languages, while Wadge extended Yaghi's technique to apply to a significant class of higher-order functional programs. The main shortcoming of both these works is that the transformations they provide are semi-formal and consequently they lack a correctness proof. In particular, although the algorithm in (Yag84) is relatively easy to understand intuitively, the one in (Wad91) is much more complex, making in this way imperative the need for a precise formulation.;We start by revising, formalizing and giving a correctness proof of Yaghi's transformation algorithm for first-order functional programs. The formal definition we give is based on the idea that if two expressions in the source program are identical, then they are assigned identical intensional expressions during the translation. The correctness proof of the algorithm is established by showing that a function call in the extensional program has the same meaning as the intensional expression that results from its translation.;We then consider the translation of higher-order functional programs into zero-order intensional ones. We demonstrate that although Wadge's algorithm is in the right direction, it does not always preserve the semantics of the source programs. To overcome this deficiency, we define a richer target intensional language and an extended algorithm which compiles the source functional programs into zero-order programs of this new language. We develop the synchronic denotational semantics of the intensional language, based on which we give the correctness proof of the extended transformation algorithm.;The transformation algorithm developed in this dissertation can be used as the basis for new implementation strategies for functional languages. We propose two such strategies, one hashing-based and the other stack-based, and discuss their relative merits. We conclude by demonstrating that the transformation algorithm we propose offers a solution to the problem of implementing higher-order functions on dataflow machines.
机译:本文的目的是证明高阶函数程序可以以语义保留的方式转换为零阶内涵程序。由于存在针对最终的内涵式程序的直接执行模型,因此我们研究的实际结果是一种有前途的,定义明确的功能语言实现技术。从根本上讲,我们的研究目标是带来新的见解并更好地理解函数式编程的本质。我们的研究起点是A. Yaghi(Yag84)和W. Wadge(Wad91)的工作。 ,他是第一个定义从功能语言到内涵语言的转换算法的人。更具体地说,Yaghi研究了函数语言的一阶子集,而Wadge扩展了Yaghi的技术以应用于大量的高阶函数程序。这两种作品的主要缺点是它们提供的转换是半正式的,因此它们缺乏正确性证明。尤其是,虽然(Yag84)中的算法相对容易直观地理解,但(Wad91)中的算法要复杂得多,因此迫切需要精确的公式表示;;我们首先进行修改,形式化并给出一个一阶功能程序的Yaghi变换算法的正确性证明。我们给出的正式定义基于这样的想法:如果源程序中的两个表达式相同,那么在翻译过程中它们将被分配相同的内涵表达式。该算法的正确性证明是通过证明扩展程序中的函数调用与其转换产生的内涵表达式具有相同的含义来建立的;然后考虑将高阶功能程序转换为零阶内涵程序。我们证明,尽管Wadge的算法朝着正确的方向发展,但它并不总是保留源程序的语义。为了克服这一缺陷,我们定义了更丰富的目标意图语言和扩展算法,该算法将源功能程序编译为该新语言的零阶程序。我们开发了意图语言的同步指称语义,在此基础上给出了扩展变换算法的正确性证明。本文所开发的变换算法可作为新的功能语言实现策略的基础。我们提出了两种这样的策略,一种基于哈希,另一种基于堆栈,并讨论了它们的相对优点。我们通过证明所提出的转换算法为解决在数据流机器上实现高阶函数的问题提供了解决方案。

著录项

  • 作者

    Rondogiannis, Panagiotis.;

  • 作者单位

    University of Victoria (Canada).;

  • 授予单位 University of Victoria (Canada).;
  • 学科 Computer science.
  • 学位 Ph.D.
  • 年度 1995
  • 页码 153 p.
  • 总页数 153
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号