跳到主要内容
文章
开放式访问

一种实现多态性的特殊方法

出版:1991年7月1日 出版历史记录
  • 获取引文提醒
  • PDF第一页

    工具书类

    [1]
    ALBANO,A.、CARDELLI,L.和ORSINI,R.伽利略:一种强类型概念语言。ACM事务处理。数据库系统。10,2(1985年6月),230-260。
    [2]
    ATKINSON,M.P.和MORRISON,R.程序作为持久数据对象。ACM事务处理。程序。语言系统。第7、4页(1985年10月),第539-559页。
    [3]
    ATKINSON,M.P.、BAILEY,P.J.、CHISItOLM,K.J.、COCKSHOTT,W.P.和MORRISON,R.一种持久编程方法。计算。J.26,4(1983年11月),360-365。
    [4]
    BmTWlSTLE,G.M.、DAHL,O.J.、MYRHAUG,B.和NYGAARD,K.SIMULA BEGIN。新泽西州彭索肯奥尔巴赫,1973年。
    [5]
    BOEHM,B.W.了解并控制软件成本。第十届IFIP世界大会(爱尔兰都柏林,1986年9月1日至5日)。北荷兰,阿姆斯特丹,1986年,第703-714页。
    [6]
    BROWN,A.L.,CARRICK,R.,CONNOR,R.C.H.,DEARLE,A.,和MORRISON,R.持久性戒酒机。Unir计算科学系研究代表PPRR-59-88。1988年,苏格兰圣安德鲁斯。(也由苏格兰格拉斯哥大学出版。)
    [7]
    BURSTALL,R.和LAMPSON,B.抽象数据类型和模块的核心语言。数据类型语义国际研讨会论文集(法国索菲亚·安蒂波利斯)。计算机科学讲义,第173卷。斯普林格·弗拉格,纽约,1984年。
    [8]
    BURSTALL,R.、McQUEEN,D.和SANELLA,D.Hope:一种实验性应用语言。ACM Lisp会议(1980年8月25日至27日,加利福尼亚州斯坦福),ACM,纽约,1980年,第136-143页。
    [9]
    CARD~LLI,L.功能强大的牵引机。多态~m'Eew~1.1(1983年1月)。
    [10]
    CARDELLI,L.基本多态性类型检查。多态性新闻。2,I(1984年1月)。(AT&T贝尔实验室技术代表119)
    [11]
    CARDELLI,L.多重继承的语义。《计算机科学中的数据类型语义讲义》,173。Springer-Verlag,纽约,1984年,第51-67页。
    [12]
    CARDELLI,L.和WEGNER,P.关于理解类型、数据抽象和多态性。ACM计算。调查。第17、4页(1985年12月),第471-523页。
    [13]
    CONNO~,R.C.H.Napier型检查模块。苏格兰圣安德鲁斯大学计算科学系研究代表PPRR-58-88,1988年。(也由苏格兰格拉斯哥大学出版。)
    [14]
    CONNOR,R.C.H.,DEARLE,A.,MORRISON,R.,AND BROWN,A.L.具有多重继承的静态类型语言的对象寻址机制。在OOPSLA89(新奥尔良,路易斯安那州)ACM SIGPLAN没有。24、10(1989年10月),279-286。
    [15]
    CONNOR,R.C.H.,DEARLE,A.,MORRISON,R.,AND BROWN,A L.存在}y量化类型作为数据库查看机制。数据库技术进展——EDBT90(威尼斯,1990)。计算机科学讲义,第416卷。Springer-Verlag,纽约,1990年,第301-315页。
    [16]
    CONNOR,R.C.H.,BROWN,A.L.,CAR~ICK,R.,DEARLE,A,AND MORR~SON,R.The persistent abstract machine In Thlrd International Workshop on persistent Object Systems(澳大利亚新南威尔士州纽卡斯尔,1989年1月10日至13日)。永久对象系统。Springer-Verlag,纽约,1989年,第353-366页。
    [17]
    DAMAS,L.,AND MmNER,R.《第九届ACM关于编程语言Prmc~ples的SymposLum》(1982年1月25日至27日,新墨西哥州阿尔伯克基)中函数程序的主类型方案。ACM,纽约,1982年,第207-212页。
    [18]
    DEARLE,A.和BROWN,A.L.在强类型持久环境中安全浏览。计算。J.31,6(1988年12月),540-545。
    [19]
    EMERS,A.和DONAH~E,J.修订了关于Russell的报告。技术代表TR79-389,康奈尔大学计算机科学系,伊萨卡,纽约州,1979年。
    [20]
    FAmBAmN,J.Ponder及其类型系统技术。英国剑桥大学计算机科学系,代表31,1982年11月。
    [21]
    FAmBAmN,J.函数语言的一种新型类型检查器。在数据类型和持久性,信息系统系列主题。M.P.Atkinson、O.P.Buneman和R.Morrison,编辑:Springer-Verlag,纽约,1988年,第69-88页。
    [22]
    GOLDBERG,A.和ROBSON,D.SMALLTALK-80:语言及其实现。Addison-Wesley,伦敦,1983年
    [23]
    HAMMER,M,AND McLEoD,D SDM数据库描述:语义数据库模型。ACM事务处理。数据库系统。第6、3页(1981年9月),第351-386页。
    [24]
    HAUCK,E.A.和DENT,B.A.Burroughs B6500/6700堆叠机构。AFIPS SJCC 32(新泽西州大西洋城,1968年4月30日至5月2日),第245-252页。
    [25]
    HUDAK,P.、WADLER,P.,ARVIND,BOUTEL,B.、FAIRBAIN,J.、FASEL,J.,HAMMOND,K.、HUGHES,J.和JOHNSON,T.、KIEBURTZ,D.、NIKHIL,R.、PEYTON JONES,S.、REEVES,M、WISE,D.和YOUNG,J.关于函数式编程语言Haskell的报告。苏格兰格拉斯哥大学计算机科学系,1990年4月。(另由康涅狄格州纽黑文耶鲁大学出版)
    [26]
    ICHBIAH ET AL。程序语言Ada参考手册。计算机科学讲义,第155卷。斯普林格·弗拉格,纽约,1983年。
    [27]
    JOHNSTON,J.B.块体结构过程的轮廓模型。ACM SIGPLAN非。6,2(1971年2月),56-82。
    [28]
    K~A~,5。Folymorphic Frogramzng语言中的参数~c重载~ng。计算机科学讲义,第300卷。Springer-Verlag,纽约,1988年,第131-144页。
    [29]
    LISKOV,B.H.CLU参考手册。计算机科学讲义,第114卷。施普林格·弗拉格,纽约,1981年。
    [30]
    MATTHEWS,D.C.J.Poly手册。英国剑桥大学计算机科学系技术代表65,1985年。
    [31]
    MmNER,R.苏格兰爱丁堡大学计算机科学系标准ML.技术代表CSR-157-83提案,1983年。
    [32]
    MmNER,R.编程中的类型多态理论。J.计算系统。科学。17, (1978), 348-375.
    [33]
    MITCHELL,J.C.和PLOTKIN,G.D.抽象类型具有存在类型。第十二届ACM编程语言原则研讨会(1985年1月14日至16日,路易斯安那州新奥尔良)。ACM,纽约,1985年,第37-51页。
    [34]
    MORRISON,R.、BROWN,A.L.、CONNOR,R.C.H.和DEARLE,A.Napier88参考手册。苏格兰圣安德鲁斯大学计算科学系研究代表PPRR-77-89,1989年。(也由苏格兰格拉斯哥大学出版。)
    [35]
    MORRISON,R.,BROWN,A.L.,CARRICK,R.,CONNOR,R.C.H.,DEARLE,A.,AND ATKINSON,M.P.强类型面向对象环境中的多态性、持久性和软件重用。柔和。Eng.J.(1987年11月),199-204。
    [36]
    莫里森·R、布朗·A·L、卡里克·R、康诺·R·C·H、迪尔·A和阿特金森·M·P。纳皮尔型体系。第三届持久性对象系统国际研讨会(澳大利亚新南威尔士州纽卡斯尔,1989年1月)。持久对象系统。施普林格-弗拉格出版社,纽约,1989年,第3-18页。
    [37]
    STEMPLE,D.、FEGARAS,L.、SHEARD,T.和SOCORRO,A.超越了数据库编程语言中多态性的限制。数据库技术进展——EDBT90(威尼斯,1990)。计算机科学讲义,第416卷。Springer-Verlag,纽约,1990年,第269-285页。
    [38]
    STRACHE~,C.编程语言的基本概念。牛津大学出版社,英国牛津,1967年。
    [39]
    TURNER,D.A.SASL语言手册。苏格兰圣安德鲁斯大学计算科学系代表CS/79/3,1979年。
    [40]
    TURNER,D.A.Miranda系统手册。Research Software,Ltd.,英国坎特伯雷,1987年。
    [41]
    VAN VLmT,J.C.和GLAONEY,H.M.标签评估。柔和。实际。专家。第15、9页(1985年9月),第823-827页。
    [42]
    WADL~R,P.,AND BLOTT,S.如何减少即席多态性。在第十六届ACM编程语言程序研讨会上(德克萨斯州奥斯汀,1989年1月)。ACM,纽约,1989年,第60-76页。

    引用人

    查看全部
    • (2023)TASTyTruffle:参数多态性的实时专业化美国计算机学会程序设计语言会议录10.1145/36228537:OOPSLA2(1561-1588)在线发布日期:2023年10月16日
    • (2022)使用群体智能协调搜索救援任务中的无人机舰队2022机器人测量与控制国际研讨会(ISMCR)10.1109/ISMCR56534.2022.9950585(1-8)在线发布日期:2022年9月28日
    • (2018)使用单态化和修改在Coq中安全生成低级代码信息处理杂志10.2197/ipsjjip.26.5426(54-72)在线发布日期:2018年
    • 显示更多引用者

    建议

    评论

    Mark Brimhall Wells公司

    多态性是指编写与所操作的数据形式无关的程序的能力。本文讨论了多态性在Napier88编程语言中的实现,该语言是一种类型化语言,具有由块保持体系结构实现的一级过程。本文首先全面回顾了多态性及其在编程语言中的实现。作者提供了42篇参考文献。所调查的实现技术包括文本多态性(如Ada)、统一多态性(例如Standard ML)和标记多态性(比如Smalltalk)。给出了每种方法的优点和缺点。Napier88使用基于块保留的标记多态性变体。Napier88中的多态过程需要两级调用。外部调用提供了一个本地环境,该环境包含内部调用的参数的量词类型。表示这些的标记用于区分类型,其中多态过程的单个代码的指令取决于类型。Napier88允许“无需调用的专门化”,也就是说,外部调用可以独立发生。因此,编译器无法确定任何给定调用是否是多态的。因此,必须在入口和出口的多态过程中完成量词类型和“具体类型”之间的转换。相比之下,非多态过程永远不会成为内部参数转换或类型区分的来源。作者讨论了实现包含量词类型并由多态过程操作的数据结构的问题。Napier88的解决方案是,数据结构只包含非多态类型字段的表示。当字段由多态过程操作时,它们与量词类型以及过程参数和结果进行转换。还讨论了Napier88的抽象数据类型方案,该方案利用多态use子句。Napier88方法有两个主要优点。首先,它支持定制的、因而具有运行时效率的非一致数据对象。其次,它满足本地化成本原则。也就是说,只有在多态上下文中才需要额外的空间和时间。也许主要的缺点是编译器的复杂性,这是由于对非均匀数据对象的处理。即使分析了运行时成本,也没有讨论缺点。也许这些问题在Napier88中不太受关注,因为它确实具有持久数据结构。这篇论文很容易阅读,因为它有简单的例子,缺乏无关的细节。它代表了对多态性研究的重要贡献。我向所有对编程语言设计感兴趣的人推荐它。

    访问计算机文献的关键评论在这里

    成为评论员计算评论。

    评论

    信息和贡献者

    问询处

    发布于

    封面图片ACM编程语言和系统汇刊
    程序设计语言与系统学报 第13卷第3期
    1991年7月
    148页
    国际标准编号:0164-0925
    EISSN公司:1558-4593
    内政部:10.1145/117009
    期刊目录

    出版商

    计算机协会

    美国纽约州纽约市

    出版历史记录

    出版:1991年7月1日
    在TOPLAS中发布体积13,问题

    权限

    请求对此文章的权限。

    检查更新

    限定符

    • 第条

    贡献者

    其他指标

    文献计量学和引文

    文献计量学

    文章指标

    • 下载次数(过去12个月)79
    • 下载次数(最近6周)6

    其他指标

    引文

    引用人

    查看全部
    • (2023)TASTyTruffle:参数多态性的实时专业化美国计算机学会程序设计语言会议录10.1145/36228537:OOPSLA2(1561-1588)在线发布日期:2023年10月16日
    • (2022)使用群体智能协调搜索救援任务中的无人机舰队2022机器人测量与控制国际研讨会(ISMCR)10.1109/ISMCR56534.2022.9950585(1-8)在线发布日期:2022年9月28日
    • (2018)使用单态化和修改在Coq中安全生成低级代码信息处理杂志10.2197/ipsjjip.26.5426(54-72)在线发布日期:2018年
    • (2017)内联后泛型数组访问的专门化理论计算机科学中的电子论文集10.4204/EPTCS.241.4241(45-53)在线发布日期:2017年2月7日
    • (2016)参数多态语言的调用图ACM SIGPLAN通知10.1145/3022671.298399151:10(394-409)在线发布日期:2016年10月19日
    • (2016)参数多态语言的调用图2016年ACM SIGPLAN面向对象编程、系统、语言和应用国际会议记录10.1145/2983990.2983991(394-409)在线发布日期:2016年10月19日
    • (2015)自动化即席数据表示转换ACM SIGPLAN通知10.1145/2858965.281427150:10(801-820)在线发布日期:2015年10月23日
    • (2015)自动化即席数据表示转换2015年ACM SIGPLAN面向对象编程、系统、语言和应用国际会议记录10.1145/2814270.2814271(801-820)在线发布日期:2015年10月23日
    • (2014)后期数据布局ACM SIGPLAN通知10.1145/2714064.266019749:10(397-416)在线发布日期:2014年10月15日
    • (2014)后期数据布局2014年ACM面向对象编程系统语言与应用国际会议记录10.1145/2660193.2660197(397-416)在线发布日期:2014年10月15日
    • 显示更多引用者

    视图选项

    查看选项

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

    使用联机查看电子阅读器.

    电子阅读器

    获取访问权限

    登录选项

    完全访问权限

    媒体

    数字

    其他

    桌子

    分享

    分享

    共享此出版物链接

    在社交媒体上分享