基于类型理论的泛型程序设计问题研究

来源 :华东理工大学 | 被引量 : 0次 | 上传用户:m1598745
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
几十年来,软件重用一直是计算机软件科学重要的研究工作之一。从面向过程的结构化方法到面向对象方法都是在提高软件的重用程度,但迄今为止,并没有取得满意的结果。泛型程序设计(GP,Generic Programming)提出了参数化的抽象方法:将软件分解为一系列组件,一个组件和其它组件之间只需最少的前提假设;组件的组合有最大的灵活性。   以C++的STL程序库为代表的命令式泛型程序设计方法,可定义适用与多种数据结构的抽象算法过程;以Haskell为代表的函数式泛型程序设计方法,在递归数据类型结构上定义泛型函数。在某种意义上类似于自底向上和自顶向下两种设计方法。无论是在程序设计技术还是在语言机制方面,都希望为程序设计者提供一种能力,设计出对多种数据结构都能有效计算的算法,提高算法的重用性。   类型系统在知识的表示、程序语言技术和程序验证等方面均起到了支撑作用,使得程序语言的设计,编译器的构造,语言学习和程序理解都更为清晰。类型化在程序设计和定理证明方面都是重要的手段,而且在程序的构造和证明的构造之间找到了明显的结构对应关系(同构)。   本文的主要研究工作可分为三个方面。第一,在类型系统下命令式程序的语义(IMP语言的指称语义和操作语义)描述问题;第二,函数式语言中数据类型的有效定义和表示;第三,模板化元程序设计和函数式泛型程序设计之间存在的相似性和对应关系,在同一个数学框架中刻画命令式和函数式泛型程序的特征。论文还讨论了刻画循环和递归程序指称语义的不动点理论并对其计算意义作出了一个直观的介绍;阐述了类型系统的一些理论基础和逻辑问题。取得了以下具体结果和结论:   (1)基于谓词转换器给出了IMP的指称语义,并证明与状态转换器形式的指称语义是等价的。通过状态转换器和谓词转换器之间的一种对应关系,将其公理语义和指称语义紧密关联起来,方便于在类型系统中对程序语义的刻画及程序验证。   (2)利用纯类型系统的计算完全性和表达能力,重述IMP命令操作语义的推导规则,将其表示成归纳关系,直接刻画了命令的操作语义。表明类型理论不仅适合于函数式程序的证明,也是刻画和证明命令式程序的合理框架。   (3)给出了函数式程序的一种构造多型值的方法。以等式函数为例,利用直积和直和给出了构造多型值的方法。利用这一结果能够定义各种数据类型的相等性,同时,定义相等性的方法也可以借鉴到其它函数的定义上。   (4)给出泛型数据类型存在的一种不动点的表示。使泛型参数的构造更为简洁和有效,将不同的泛型数据类型构造方法统一在一个单一的框架中。   (5)分析命令式和函数式两种典型泛型程序设计方法的共性,考察了二者的方法论基础。应用范畴论方法得到了描述它们共性的一般代数结构,即STL的概念分析是以F共代数为理论基础的,通过定义泛型函数可以映射到这个基本代数上;函数式程序是在初始代数上的运算,即在结构上归纳定义的抽象数据类型以初始代数为基础。二者在范畴的同一框架下,是以内函子对偶联系起来的,本质上相通,可以表示在同一个数学框架中。
其他文献
无人车在越野环境中行驶,需要通过环境感知传感器对车辆周边的环境进行数据采集、处理,获得周边的障碍物特征及位置信息,确认可通行路径,从而为自主车的导航、规划及控制提供
人工神经元网络在软测量技术中被广泛的应用。软测量模型的建立是软测量技术的核心,人工神经元网络可以方便建立黑箱模型,从而实现对难测变量的估计。但对于工艺与时间紧密关联
发展高效节水型农业是国家的基本战略,连续自动获取农田水势信息是实践精细农业的重要基础之一,对发展高效节水农业意义重大。软测量技术主要用来预测那些传统检测方法无法获得
过程监测系统能够实时地监测生产过程,在保障工况平稳运行、改善产品质量及降低能耗等方面越来越发挥着不可替代的作用。大数据时代正在随着信息化程度不断发展以及硬件存储
本文综述了温度变送器的发展过程以及无线传感器网络的研究现状。通过对几种常用的无线传输技术的比较并结合本课题的应用需求,确定了以ZigBee无线传输协议作为本课题的无线传
社会事件是指发生在特定地点和特定时间的特定行为,它由许多随时间推移的子事件组成。随着互联网的快速发展,出现越来越多的社会媒体网站,用户可以非常方便地在这些网站上分享其
学位
物体识别与分割问题一直是视觉的研究热点问题之一。随着研究的深入,逐渐开始将三维空间的深度信息应用于物体识别与分割,通过深度信息为目标检测识别与分割提供更多的信息。随
PID控制器由于具有结构简单、实现容易,鲁棒性较强的优点,因此被广泛应用于各种工业过程控制中。但是由于工业过程对象的精确模型难以建立,参数经常发生变化,因而在使用常规PID控
随着科学技术的发展,神经系统疾病的诊断和治疗也日益完善。但是,复杂的手术操作对神经外科医生的手术技能提出了很高的要求。传统的培训方式成本高,周期长,特别是年轻医生在手术