多态类型检查方案

Steven L. Jenkins, Gary T. Leavens
{"title":"多态类型检查方案","authors":"Steven L. Jenkins,&nbsp;Gary T. Leavens","doi":"10.1016/S0096-0551(97)00002-7","DOIUrl":null,"url":null,"abstract":"<div><p>This paper presents a type-inference system for Scheme that is designed to be used by students in an introductory programming course. The major goal of the work is to present a type system that is simple enough to be used by beginner students, yet is powerful enough to express the ideas of polymorphism, abstract data types (ADTs), and higher-order procedures. The system also performs some rudimentary syntax checking. The system uses subtyping, but only in a primitive fashion. It has a type <em>datum</em> which is a supertype of all types, and a type <em>poof</em> which is a subtype of all types. It uses intersection types to control the use of <em>datum</em> and to generate simple but accurate types.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"22 4","pages":"Pages 215-223"},"PeriodicalIF":0.0000,"publicationDate":"1996-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(97)00002-7","citationCount":"6","resultStr":"{\"title\":\"Polymorphic type-checking in scheme\",\"authors\":\"Steven L. Jenkins,&nbsp;Gary T. Leavens\",\"doi\":\"10.1016/S0096-0551(97)00002-7\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>This paper presents a type-inference system for Scheme that is designed to be used by students in an introductory programming course. The major goal of the work is to present a type system that is simple enough to be used by beginner students, yet is powerful enough to express the ideas of polymorphism, abstract data types (ADTs), and higher-order procedures. The system also performs some rudimentary syntax checking. The system uses subtyping, but only in a primitive fashion. It has a type <em>datum</em> which is a supertype of all types, and a type <em>poof</em> which is a subtype of all types. It uses intersection types to control the use of <em>datum</em> and to generate simple but accurate types.</p></div>\",\"PeriodicalId\":100315,\"journal\":{\"name\":\"Computer Languages\",\"volume\":\"22 4\",\"pages\":\"Pages 215-223\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1996-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1016/S0096-0551(97)00002-7\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Computer Languages\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0096055197000027\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Languages","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0096055197000027","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

摘要

本文提出了一个Scheme的类型推理系统,供学生在程序设计入门课程中使用。这项工作的主要目标是提供一个类型系统,它足够简单,可以供初学者使用,但又足够强大,可以表达多态性、抽象数据类型(adt)和高阶过程的思想。系统还执行一些基本的语法检查。该系统使用子类型,但只是以一种原始的方式。它有一个类型基准,它是所有类型的超类型,还有一个类型poof,它是所有类型的子类型。它使用交叉类型来控制基准的使用,并生成简单而准确的类型。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Polymorphic type-checking in scheme

This paper presents a type-inference system for Scheme that is designed to be used by students in an introductory programming course. The major goal of the work is to present a type system that is simple enough to be used by beginner students, yet is powerful enough to express the ideas of polymorphism, abstract data types (ADTs), and higher-order procedures. The system also performs some rudimentary syntax checking. The system uses subtyping, but only in a primitive fashion. It has a type datum which is a supertype of all types, and a type poof which is a subtype of all types. It uses intersection types to control the use of datum and to generate simple but accurate types.

求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信