Type inference by program transformation and partial evaluation

T.W. Fruwirth
{"title":"Type inference by program transformation and partial evaluation","authors":"T.W. Fruwirth","doi":"10.1109/ICCL.1988.13083","DOIUrl":null,"url":null,"abstract":"A simple yet powerful metaprogramming method to derive type information from Prolog programs is proposed. Prolog itself is used to represent the type information, so no special language for types is necessary. Metaprogramming techniques also manipulate the types derived. A kind of program transformation, called type projection, infers type information expressed in Prolog. The inferred type procedures can be used to check the consistency of the program and in some cases, even to generate instances of the type. The author defines a nonredundant standard representation of a type. The standardization algorithm is an adaptation of partial evaluation. He extends type projection by partial evaluation to derive more precise types. For the first time, a part of the type information inherent in negated goals is utilized. Type negation is introduced.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"13 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. 1988 International Conference on Computer Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICCL.1988.13083","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 14

Abstract

A simple yet powerful metaprogramming method to derive type information from Prolog programs is proposed. Prolog itself is used to represent the type information, so no special language for types is necessary. Metaprogramming techniques also manipulate the types derived. A kind of program transformation, called type projection, infers type information expressed in Prolog. The inferred type procedures can be used to check the consistency of the program and in some cases, even to generate instances of the type. The author defines a nonredundant standard representation of a type. The standardization algorithm is an adaptation of partial evaluation. He extends type projection by partial evaluation to derive more precise types. For the first time, a part of the type information inherent in negated goals is utilized. Type negation is introduced.<>
基于程序变换和部分求值的类型推断
提出了一种简单而功能强大的从Prolog程序中派生类型信息的元编程方法。Prolog本身用于表示类型信息,因此不需要用于类型的特殊语言。元编程技术还可以操作派生的类型。一种称为类型投影的程序变换可以推断Prolog中表示的类型信息。推断的类型过程可用于检查程序的一致性,在某些情况下,甚至可用于生成类型的实例。作者定义了类型的非冗余标准表示。标准化算法是对部分求值的一种改进。他通过部分求值扩展类型投影,以派生更精确的类型。这是第一次利用了否定目标中固有的部分类型信息。介绍了类型否定。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信