Extending the Theory and Practice of Gradual Typing
扩展渐进打字的理论和实践
基本信息
- 批准号:RGPIN-2017-04471
- 负责人:
- 金额:$ 1.89万
- 依托单位:
- 依托单位国家:加拿大
- 项目类别:Discovery Grants Program - Individual
- 财政年份:2020
- 资助国家:加拿大
- 起止时间:2020-01-01 至 2021-12-31
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
Programming languages are typically categorized as either statically or dynamically typed. Statically typed languages such as Java use types to ensure that a program satisfies basic behavioural guarantees before running it. Type checking catches programming errors and supports optimizations that make programs run faster and use less memory. However, programmers must add extra type annotations, and type checking often rejects programs that would otherwise run correctly. Dynamically typed languages such as Javascript and PHP use runtime checks to catch errors, so they enable flexible and fast-paced programming that is heavily used to develop web sites and mobile applications. But in trade they tend to run slower and use more memory and power, which is particularly bad for mobile apps, and deployed programs often harbour costly bugs that could have been detected right away by a type checker.
Gradual typing is a new approach to language design that lets programmers seamlessly mix static and dynamic typing, combining the performance and correctness benefits of statically typed languages with the agility of dynamic languages. Industrial programming languages, such as Microsoft's Typescript (an extension of Javascript) and Facebook's Hack (an extension of PHP), now provide some support for gradual typing, while researchers in academia continue to develop its theory.
My research program focuses on developing the theoretical foundations of gradual typing so as to inform the design and implementation of gradually typed languages. The results of this work have been promising, but more work is needed to make these ideas applicable to industrial-strength languages. This proposal outlines three objectives that will advance the state-of-the-art in gradual typing.
First, we will develop a general theory for improving how gradually-typed languages use static type information to systematically decrease the overhead of checking programs at runtime.
Second, we will extend the foundations of gradual typing to apply to type systems that guarantee not just what kinds of values computations produce, but also how computations interact with one another, assuring properties such as the confidentiality of private data and control over access to privileged resources.
Third, we will develop and validate techniques for constructing high-performance and space-efficient compilers for languages that want to incorporate gradual typing by design.
This research has the potential to fundamentally improve how programming languages are designed and implemented, and bridge the longstanding gap between high-confidence and agile approaches to software construction.
编程语言通常分为静态类型和动态类型。 静态类型语言(例如 Java)使用类型来确保程序在运行之前满足基本的行为保证。 类型检查可以捕获编程错误并支持优化,使程序运行得更快并使用更少的内存。然而,程序员必须添加额外的类型注释,并且类型检查通常会拒绝原本可以正确运行的程序。 Javascript 和 PHP 等动态类型语言使用运行时检查来捕获错误,因此它们可以实现灵活且快节奏的编程,广泛用于开发网站和移动应用程序。但实际上,它们往往运行速度较慢,使用更多内存和电量,这对移动应用程序尤其不利,而且部署的程序通常含有代价高昂的错误,这些错误本来可以被类型检查器立即检测到。
渐进类型是一种新的语言设计方法,它允许程序员无缝地混合静态和动态类型,将静态类型语言的性能和正确性优势与动态语言的敏捷性结合起来。 工业编程语言,例如微软的 Typescript(Javascript 的扩展)和 Facebook 的 Hack(PHP 的扩展),现在为渐进式打字提供了一些支持,而学术界的研究人员也在继续发展其理论。
我的研究项目侧重于发展渐进式打字的理论基础,以便为渐进式打字语言的设计和实现提供信息。 这项工作的结果很有希望,但需要做更多的工作才能使这些想法适用于工业强度的语言。 该提案概述了三个目标,这些目标将推动渐进打字技术的发展。
首先,我们将开发一种通用理论,用于改进渐进类型语言如何使用静态类型信息来系统地减少运行时检查程序的开销。
其次,我们将扩展渐进类型的基础,以应用于类型系统,不仅保证计算产生什么类型的值,还保证计算如何相互交互,确保私有数据的机密性和对特权资源访问的控制等属性。
第三,我们将开发和验证为想要通过设计纳入渐进类型的语言构建高性能和节省空间的编译器的技术。
这项研究有可能从根本上改善编程语言的设计和实现方式,并弥合高可信度和敏捷软件构建方法之间长期存在的差距。
项目成果
期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
数据更新时间:{{ journalArticles.updateTime }}
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
数据更新时间:{{ journalArticles.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ monograph.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ sciAawards.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ conferencePapers.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ patent.updateTime }}
Garcia, Ronald其他文献
Fatty Acid-Related Phylogeny of Myxobacteria as an Approach to Discover Polyunsaturated Omega-3/6 Fatty Acids
- DOI:
10.1128/jb.01091-10 - 发表时间:
2011-04-01 - 期刊:
- 影响因子:3.2
- 作者:
Garcia, Ronald;Pistorius, Dominik;Mueller, Rolf - 通讯作者:
Mueller, Rolf
Mexican Immigrants in the US Living Far from the Border may Return to Mexico for Health Services
- DOI:
10.1007/s10903-008-9213-8 - 发表时间:
2010-08-01 - 期刊:
- 影响因子:1.9
- 作者:
Bergmark, Regan;Barr, Donald;Garcia, Ronald - 通讯作者:
Garcia, Ronald
Production of a Dibrominated Aromatic Secondary Metabolite by a Planctomycete Implies Complex Interaction with a Macroalgal Host
- DOI:
10.1021/acschembio.9b00641 - 发表时间:
2019-12-01 - 期刊:
- 影响因子:4
- 作者:
Panter, Fabian;Garcia, Ronald;Mueller, Rolf - 通讯作者:
Mueller, Rolf
Temperature-Dependent Selection of Reaction Pathways, Reactive Species, and Products during Postsynthetic Selenization of Copper Sulfide Nanoparticles.
- DOI:
10.1021/acs.chemmater.3c01772 - 发表时间:
2023-11-14 - 期刊:
- 影响因子:8.6
- 作者:
Hole, Brandon;Luo, Qi;Garcia, Ronald;Xie, Wanrui;Rudman, Eli;Nguyen, Chi Loi Thanh;Dhakal, Diya;Young, Haley L.;Thompson, Katherine L.;Butterfield, Auston G.;Schaak, Raymond E.;Plass, Katherine E. - 通讯作者:
Plass, Katherine E.
A Highly Conjugated Dihydroxylated C28 Steroid from a Myxobacterium
- DOI:
10.1021/np100682c - 发表时间:
2011-05-01 - 期刊:
- 影响因子:5.1
- 作者:
Gawas, Dnyaneshwar;Garcia, Ronald;Mueller, Rolf - 通讯作者:
Mueller, Rolf
Garcia, Ronald的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Garcia, Ronald', 18)}}的其他基金
Extending the Theory and Practice of Gradual Typing
扩展渐进打字的理论和实践
- 批准号:
RGPIN-2017-04471 - 财政年份:2021
- 资助金额:
$ 1.89万 - 项目类别:
Discovery Grants Program - Individual
Extending the Theory and Practice of Gradual Typing
扩展渐进打字的理论和实践
- 批准号:
RGPIN-2017-04471 - 财政年份:2019
- 资助金额:
$ 1.89万 - 项目类别:
Discovery Grants Program - Individual
Extending the Theory and Practice of Gradual Typing
扩展渐进打字的理论和实践
- 批准号:
RGPIN-2017-04471 - 财政年份:2018
- 资助金额:
$ 1.89万 - 项目类别:
Discovery Grants Program - Individual
Extending the Theory and Practice of Gradual Typing
扩展渐进打字的理论和实践
- 批准号:
RGPIN-2017-04471 - 财政年份:2017
- 资助金额:
$ 1.89万 - 项目类别:
Discovery Grants Program - Individual
Enhancing Support for Metaprogramming
增强对元编程的支持
- 批准号:
418643-2012 - 财政年份:2015
- 资助金额:
$ 1.89万 - 项目类别:
Discovery Grants Program - Individual
Enhancing Support for Metaprogramming
增强对元编程的支持
- 批准号:
418643-2012 - 财政年份:2014
- 资助金额:
$ 1.89万 - 项目类别:
Discovery Grants Program - Individual
Enhancing Support for Metaprogramming
增强对元编程的支持
- 批准号:
418643-2012 - 财政年份:2013
- 资助金额:
$ 1.89万 - 项目类别:
Discovery Grants Program - Individual
Enhancing Support for Metaprogramming
增强对元编程的支持
- 批准号:
418643-2012 - 财政年份:2012
- 资助金额:
$ 1.89万 - 项目类别:
Discovery Grants Program - Individual
相似国自然基金
Research on Quantum Field Theory without a Lagrangian Description
- 批准号:24ZR1403900
- 批准年份:2024
- 资助金额:0.0 万元
- 项目类别:省市级项目
基于isomorph theory研究尘埃等离子体物理量的微观动力学机制
- 批准号:12247163
- 批准年份:2022
- 资助金额:18.00 万元
- 项目类别:专项项目
Toward a general theory of intermittent aeolian and fluvial nonsuspended sediment transport
- 批准号:
- 批准年份:2022
- 资助金额:55 万元
- 项目类别:
英文专著《FRACTIONAL INTEGRALS AND DERIVATIVES: Theory and Applications》的翻译
- 批准号:12126512
- 批准年份:2021
- 资助金额:12.0 万元
- 项目类别:数学天元基金项目
基于Restriction-Centered Theory的自然语言模糊语义理论研究及应用
- 批准号:61671064
- 批准年份:2016
- 资助金额:65.0 万元
- 项目类别:面上项目
相似海外基金
Theory use in social care practice: improving implementation and outcomes
社会关怀实践中的理论运用:改进实施和结果
- 批准号:
DE240100154 - 财政年份:2024
- 资助金额:
$ 1.89万 - 项目类别:
Discovery Early Career Researcher Award
CAREER: Theory and Practice of Privacy-Utility Tradeoffs in Enterprise Data Sharing
职业:企业数据共享中隐私与效用权衡的理论与实践
- 批准号:
2338772 - 财政年份:2024
- 资助金额:
$ 1.89万 - 项目类别:
Continuing Grant
Bridging the gap between rockfall theory and engineering practice
弥合落石理论与工程实践之间的差距
- 批准号:
IE230100410 - 财政年份:2023
- 资助金额:
$ 1.89万 - 项目类别:
Early Career Industry Fellowships
Construction of a teacher education platform linking theory and practice with physical education lesson study
理论联系实际、体育课学的教师教育平台构建
- 批准号:
23H00971 - 财政年份:2023
- 资助金额:
$ 1.89万 - 项目类别:
Grant-in-Aid for Scientific Research (B)
Collaborative Research: Advances in the Theory and Practice of Non-Euclidean Statistics
合作研究:非欧几里得统计理论与实践的进展
- 批准号:
2311058 - 财政年份:2023
- 资助金额:
$ 1.89万 - 项目类别:
Continuing Grant
CAREER: Parallel Algorithms: Theory for Practice
职业:并行算法:理论实践
- 批准号:
2238358 - 财政年份:2023
- 资助金额:
$ 1.89万 - 项目类别:
Continuing Grant
A Theory of Integration in Crossdisciplinary Research and Practice
跨学科研究与实践的整合理论
- 批准号:
2318442 - 财政年份:2023
- 资助金额:
$ 1.89万 - 项目类别:
Standard Grant
Development of Learning Materials Connecting Theory and Practice for Teachers to Improve Student Engagement
为教师开发连接理论与实践的学习材料以提高学生的参与度
- 批准号:
23K02731 - 财政年份:2023
- 资助金额:
$ 1.89万 - 项目类别:
Grant-in-Aid for Scientific Research (C)
Research on theory and practice of trust in educational relationships
教育关系信任理论与实践研究
- 批准号:
23K02159 - 财政年份:2023
- 资助金额:
$ 1.89万 - 项目类别:
Grant-in-Aid for Scientific Research (C)
Theory and Practice of Language Awareness Movement in United Kingdom
英国语言意识运动的理论与实践
- 批准号:
23K18923 - 财政年份:2023
- 资助金额:
$ 1.89万 - 项目类别:
Grant-in-Aid for Research Activity Start-up