Migratory Typing: Ten Years Later

Sam Tobin-Hochstadt, M. Felleisen, R. Findler, M. Flatt, B. Greenman, A. Kent, Vincent St-Amour, T. Strickland, Asumu Takikawa
{"title":"Migratory Typing: Ten Years Later","authors":"Sam Tobin-Hochstadt, M. Felleisen, R. Findler, M. Flatt, B. Greenman, A. Kent, Vincent St-Amour, T. Strickland, Asumu Takikawa","doi":"10.4230/LIPIcs.SNAPL.2017.17","DOIUrl":null,"url":null,"abstract":"In this day and age, many developers work on large, untyped code repositories. Even if they are the creators of the code, they notice that they have to figure out the equivalent of method signatures every time they work on old code. This step is time consuming and error prone. \n \nTen years ago, the two lead authors outlined a linguistic solution to this problem. Specifically they proposed the creation of typed twins for untyped programming languages so that developers could migrate scripts from the untyped world to a typed one in an incremental manner. Their programmatic paper also spelled out three guiding design principles concerning the acceptance of grown idioms, the soundness of mixed-typed programs, and the units of migration. \n \nThis paper revisits this idea of a migratory type system as implemented for Racket. It explains how the design principles have been used to produce the Typed Racket twin and presents an assessment of the project's status, highlighting successes and failures.","PeriodicalId":231548,"journal":{"name":"Summit on Advances in Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2017-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"27","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Summit on Advances in Programming Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4230/LIPIcs.SNAPL.2017.17","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 27

Abstract

In this day and age, many developers work on large, untyped code repositories. Even if they are the creators of the code, they notice that they have to figure out the equivalent of method signatures every time they work on old code. This step is time consuming and error prone. Ten years ago, the two lead authors outlined a linguistic solution to this problem. Specifically they proposed the creation of typed twins for untyped programming languages so that developers could migrate scripts from the untyped world to a typed one in an incremental manner. Their programmatic paper also spelled out three guiding design principles concerning the acceptance of grown idioms, the soundness of mixed-typed programs, and the units of migration. This paper revisits this idea of a migratory type system as implemented for Racket. It explains how the design principles have been used to produce the Typed Racket twin and presents an assessment of the project's status, highlighting successes and failures.
迁移型分型:十年后
在这个时代,许多开发人员都在大型、无类型的代码库上工作。即使他们是代码的创建者,他们也会注意到,每次处理旧代码时,他们都必须找出与方法签名等效的方法。此步骤耗时且容易出错。十年前,两位主要作者概述了这个问题的语言解决方案。具体来说,他们建议为非类型化编程语言创建类型双胞胎,这样开发人员就可以以增量的方式将脚本从非类型化世界迁移到类型化世界。他们的纲领性文件还详细阐述了三个指导设计原则,涉及对成熟成语的接受,混合类型程序的合理性以及迁移单位。本文重新审视了在Racket中实现的迁移类型系统的思想。它解释了如何使用设计原则来生产类型型球拍双胞胎,并提出了项目状态的评估,突出了成功和失败。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信