主体类型专业化

P. E. M. López, John Hughes
{"title":"主体类型专业化","authors":"P. E. M. López, John Hughes","doi":"10.1145/568173.568184","DOIUrl":null,"url":null,"abstract":"Type specialisation is an approach to program specialisation that works with both a program and its type to produce specialised versions of each. As it combines many powerful features,it appears to be a good framework for automatic program production, -- despite the fact that it was designed originally to express optimal specialisation for interpreters written in typed languages.The original specification of type specialisation used a system of rules expressing it as a generalised type system, rather than the usual view of specialisation as generalised evaluation. That system, while powerful, has some weaknesses not widely recognized -- the most important being the inability to express principal type specialisations (a principal specialisation is one that is \"more general\" than any other for a given specialisable term, and from which those can be obtained by a suitable notion of instantiation). This inability is a problem when extending type specialisation to deal with polymorphism or modules.This work presents a different formulation of the system specifying type specialisation capturing the notion of principal specialisation for a language with static constructions and polyvariance. It is a step forward in the study of type specialisation for polymorphic languages and lazy languages, and also permits modularity of specialisation, and better implementations.","PeriodicalId":187828,"journal":{"name":"ASIA-PEPM '02","volume":"73 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2002-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Principal type specialisation\",\"authors\":\"P. E. M. López, John Hughes\",\"doi\":\"10.1145/568173.568184\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Type specialisation is an approach to program specialisation that works with both a program and its type to produce specialised versions of each. As it combines many powerful features,it appears to be a good framework for automatic program production, -- despite the fact that it was designed originally to express optimal specialisation for interpreters written in typed languages.The original specification of type specialisation used a system of rules expressing it as a generalised type system, rather than the usual view of specialisation as generalised evaluation. That system, while powerful, has some weaknesses not widely recognized -- the most important being the inability to express principal type specialisations (a principal specialisation is one that is \\\"more general\\\" than any other for a given specialisable term, and from which those can be obtained by a suitable notion of instantiation). This inability is a problem when extending type specialisation to deal with polymorphism or modules.This work presents a different formulation of the system specifying type specialisation capturing the notion of principal specialisation for a language with static constructions and polyvariance. It is a step forward in the study of type specialisation for polymorphic languages and lazy languages, and also permits modularity of specialisation, and better implementations.\",\"PeriodicalId\":187828,\"journal\":{\"name\":\"ASIA-PEPM '02\",\"volume\":\"73 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2002-09-12\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"ASIA-PEPM '02\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/568173.568184\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"ASIA-PEPM '02","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/568173.568184","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

摘要

类型专门化是程序专门化的一种方法,它可以同时处理程序及其类型,从而产生每个程序的专门化版本。由于它结合了许多强大的功能,它似乎是一个很好的自动程序生成框架,尽管它最初的设计是为了表达用类型语言编写的解释器的最佳专门化。类型专门化的原始规范使用了一套规则系统,将其表示为一般化的类型系统,而不是将专门化视为一般化的评估。该系统虽然强大,但也有一些未被广泛认识到的弱点——最重要的是无法表达主体类型专门化(对于给定的专门化术语,主体专门化是一种比任何其他术语“更通用”的专门化,并且可以通过适当的实例化概念从中获得这些术语)。在扩展类型专门化以处理多态或模块时,这种无能是一个问题。这项工作提出了一个不同的系统公式,指定类型专门化,为具有静态结构和多方差的语言捕获主要专门化的概念。这是对多态语言和惰性语言的类型专门化研究的一个进步,也允许专门化的模块化和更好的实现。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Principal type specialisation
Type specialisation is an approach to program specialisation that works with both a program and its type to produce specialised versions of each. As it combines many powerful features,it appears to be a good framework for automatic program production, -- despite the fact that it was designed originally to express optimal specialisation for interpreters written in typed languages.The original specification of type specialisation used a system of rules expressing it as a generalised type system, rather than the usual view of specialisation as generalised evaluation. That system, while powerful, has some weaknesses not widely recognized -- the most important being the inability to express principal type specialisations (a principal specialisation is one that is "more general" than any other for a given specialisable term, and from which those can be obtained by a suitable notion of instantiation). This inability is a problem when extending type specialisation to deal with polymorphism or modules.This work presents a different formulation of the system specifying type specialisation capturing the notion of principal specialisation for a language with static constructions and polyvariance. It is a step forward in the study of type specialisation for polymorphic languages and lazy languages, and also permits modularity of specialisation, and better implementations.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信