SHF: Small: Collaborative Research: A Rational Reconstruction of the Julia Type System

SHF:小型:协作研究:Julia 类型系统的合理重建

基本信息

  • 批准号:
    1908389
  • 负责人:
  • 金额:
    $ 24.72万
  • 依托单位:
  • 依托单位国家:
    美国
  • 项目类别:
    Standard Grant
  • 财政年份:
    2019
  • 资助国家:
    美国
  • 起止时间:
    2019-10-01 至 2022-09-30
  • 项目状态:
    已结题

项目摘要

Julia is an up-and-coming language in scientific computing. Julia straddles the line between being general-purpose and being domain-specific, and the line between being statically typed versus being dynamically typed. Despite being only six years old, Julia has been downloaded over 2 million times and has had nearly 2,000 packages developed by its community. The novelty of this project is to develop some of the foundations of the Julia type system which have not been formalized to date. The project's impacts are to provide a well-grounded specification to the language so that the specification can be used by programmers to reason about their code, and by tool developers to write program analysis and transformation software for the Julia community.Julia supports dynamic typing. Programs can be written without any type annotations as they would be written in, say, Python. Yet, Julia's grammar of types and its subtyping system is reminiscent of what one would expect of a modern statically typed language with an original combination of structural subtyping, invariant nominal generics, union types, existential types, covariant tuples, distributivity, and singleton types, as well as the, so-called, diagonal rule. This complex system is used to determine the run-time behavior of Julia programs. Specifically it is used to determine, for a given multimethod, which of its implementations is applicable. To make this determination, Julia compares the run-time types of arguments with the static types of the parameters of various overloadings. This means that the algorithmic behavior of Julia's type system is central to the language's semantics, performance, and usage. Yet Julia uses features, such as iterated unions, for which the research community has not yet developed adequate algorithms. As such, Julia's type system is currently specified by a reference implementation in C, one that has been made complex after years of balancing performance trade-offs with the need to patch bug reports filed by the language's users. The project, therefore, aims to perform experiments and studies to determine what the underlying intent of the implementation is, formalize that intent axiomatically as a type system, and then develop and verify the key algorithms for implementing the core of the Julia language.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
Julia是科学计算中的一种新兴语言。Julia跨越了通用和特定于域之间的界限,以及静态类型和动态类型之间的界限。尽管只有六岁,Julia已经被下载了超过200万次,并有近2,000个软件包由其社区开发。这个项目的新奇在于开发了一些至今尚未正式化的Julia类型系统的基础。该项目的影响是为语言提供一个良好的规范,以便程序员可以使用该规范来推理他们的代码,并由工具开发人员为Julia社区编写程序分析和转换软件。程序可以在没有任何类型注释的情况下编写,就像用Python编写一样。然而,Julia的类型语法及其子类型系统让人想起人们对现代静态类型语言的期望,它具有结构子类型、不变的名义泛型、联合类型、存在类型、协变元组、分布性和单例类型的原始组合,以及所谓的对角规则。这个复杂的系统用于确定Julia程序的运行时行为。具体来说,它是用来确定,对于一个给定的多重方法,它的实现是适用的。为了做出这个决定,Julia将参数的运行时类型与各种重载的参数的静态类型进行比较。这意味着Julia类型系统的算法行为是语言语义、性能和用法的核心。然而,Julia使用的功能,如迭代工会,研究界还没有开发出足够的算法。因此,Julia的类型系统目前由C中的参考实现指定,经过多年的性能权衡和需要修补语言用户提交的错误报告后,该实现变得复杂。因此,该项目旨在通过实验和研究来确定实现的潜在意图,将该意图形式化为类型系统,然后开发和验证实现Julia语言核心的关键算法。该奖项反映了NSF的法定使命,并通过使用基金会的智力价值和更广泛的影响审查标准进行评估,被认为值得支持。

项目成果

期刊论文数量(3)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
World age in Julia: optimizing method dispatch in the presence of eval
Julia 的世界时代:在 eval 存在的情况下优化方法调度
Type stability in Julia: avoiding performance pathologies in JIT compilation
Julia 中的类型稳定性:避免 JIT 编译中的性能问题
Julia's Efficient Algorithm for Subtyping Unions and Covariant Tuples
Julia 用于子类型联合和协变元组的高效算法
{{ 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 }}

Jan Vitek其他文献

Julia’s efficient algorithm for subtyping unions and covariant tuples (Pearl)
Julia 用于子类型联合和协变元组的高效算法 (Pearl)
  • DOI:
  • 发表时间:
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Benjamin Chung;Francesco Zappa;Nardelli Inria;Jan Vitek;Francesco Zappa Nardelli
  • 通讯作者:
    Francesco Zappa Nardelli
Proceedings of the First International Workshop on Aliasing, Confinement and Ownership in Object-oriented Programming (IWACO)
第一届面向对象编程中的别名、限制和所有权国际研讨会 (IWACO) 论文集
  • DOI:
  • 发表时间:
    2003
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Dave Clarke;Chandrasekhar Boyapati;Robert Lee;Richard Paige;J. Ostroff;Phillip Brooke;James Noble;Robert Biddle;E. Tempero;A. Potanin;Tian Zhao;Jens Palsberg;Jan;Sophia Drosspoulou;Workshop Organisers;Jonathan Aldrich;Doug Lea;Suny Oswego;David Naumann;Queen Mary;Martin Rinard;Jan Vitek;Anindya Banerjee;S. Drossopoulou;Matthew Smith;C. Pierik;Tobias Wrigstad;P. O 'hearn;John Tang Boyland;M. Fähndrich;K. Rustan;M. Leino;Scott F Smith;Mark Thober Discussion
  • 通讯作者:
    Mark Thober Discussion
Scoped types and aspects for real-time Java memory management
  • DOI:
    10.1007/s11241-007-9024-3
  • 发表时间:
    2007-05-23
  • 期刊:
  • 影响因子:
    1.300
  • 作者:
    Chris Andreae;Yvonne Coady;Celina Gibbs;James Noble;Jan Vitek;Tian Zhao
  • 通讯作者:
    Tian Zhao
Reusing Just-in-Time Compiled Code
重用即时编译的代码
  • DOI:
  • 发表时间:
    2023
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Meetesh Kalpesh Mehta;Sebastián Krynski;Hugo Musso Gualandi;Manas Thakur;Jan Vitek
  • 通讯作者:
    Jan Vitek
The JavaSeal Mobile Agent Kernel

Jan Vitek的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

{{ truncateString('Jan Vitek', 18)}}的其他基金

SHF: Small: Predictable Performance for Just-in-Time Compilation
SHF:小型:可预测的即时编译性能
  • 批准号:
    2139612
  • 财政年份:
    2022
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
CCRI: ENS: Collaborative Research: Enhancing R for Scalability and Deployment
CCRI:ENS:协作研究:增强 R 的可扩展性和部署
  • 批准号:
    1925644
  • 财政年份:
    2019
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
SHF: Small: Program Analysis for Data Science
SHF:小型:数据科学程序分析
  • 批准号:
    1910850
  • 财政年份:
    2019
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
NSF Student Travel Grant for 2017 Programming Language Implementation Summer School (PLISS)
NSF 2017 年编程语言实施暑期学校学生旅费补助金 (PLISS)
  • 批准号:
    1723053
  • 财政年份:
    2017
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
SHF: PROJECT DARWIN_ Towards Principled Language Evolution
SHF:达尔文计划_迈向有原则的语言进化
  • 批准号:
    1544542
  • 财政年份:
    2016
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
ECOOP Travel support
ECOOP 旅行支持
  • 批准号:
    1643041
  • 财政年份:
    2016
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
SHF: Small: Foundations of Just-in-Time Compilation
SHF:小型:即时编译的基础
  • 批准号:
    1618732
  • 财政年份:
    2016
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
European Conference on Object Oriented Programming
欧洲面向对象编程会议
  • 批准号:
    1521864
  • 财政年份:
    2015
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
CPS: Medium: Robust Distributed Wind Power Engineering
CPS:中:稳健的分布式风电工程
  • 批准号:
    1523426
  • 财政年份:
    2014
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
CSR: CC: Small: Collaborative Research: Language and Runtime Support for Large-Scale Data Analytics
CSR:CC:小型:协作研究:大规模数据分析的语言和运行时支持
  • 批准号:
    1460683
  • 财政年份:
    2014
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant

相似国自然基金

昼夜节律性small RNA在血斑形成时间推断中的法医学应用研究
  • 批准号:
  • 批准年份:
    2024
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
tRNA-derived small RNA上调YBX1/CCL5通路参与硼替佐米诱导慢性疼痛的机制研究
  • 批准号:
    n/a
  • 批准年份:
    2022
  • 资助金额:
    10.0 万元
  • 项目类别:
    省市级项目
Small RNA调控I-F型CRISPR-Cas适应性免疫性的应答及分子机制
  • 批准号:
    32000033
  • 批准年份:
    2020
  • 资助金额:
    24.0 万元
  • 项目类别:
    青年科学基金项目
Small RNAs调控解淀粉芽胞杆菌FZB42生防功能的机制研究
  • 批准号:
    31972324
  • 批准年份:
    2019
  • 资助金额:
    58.0 万元
  • 项目类别:
    面上项目
变异链球菌small RNAs连接LuxS密度感应与生物膜形成的机制研究
  • 批准号:
    81900988
  • 批准年份:
    2019
  • 资助金额:
    21.0 万元
  • 项目类别:
    青年科学基金项目
基于small RNA 测序技术解析鸽分泌鸽乳的分子机制
  • 批准号:
    31802058
  • 批准年份:
    2018
  • 资助金额:
    26.0 万元
  • 项目类别:
    青年科学基金项目
肠道细菌关键small RNAs在克罗恩病发生发展中的功能和作用机制
  • 批准号:
    31870821
  • 批准年份:
    2018
  • 资助金额:
    56.0 万元
  • 项目类别:
    面上项目
Small RNA介导的DNA甲基化调控的水稻草矮病毒致病机制
  • 批准号:
    31772128
  • 批准年份:
    2017
  • 资助金额:
    60.0 万元
  • 项目类别:
    面上项目
基于small RNA-seq的针灸治疗桥本甲状腺炎的免疫调控机制研究
  • 批准号:
    81704176
  • 批准年份:
    2017
  • 资助金额:
    20.0 万元
  • 项目类别:
    青年科学基金项目
水稻OsSGS3与OsHEN1调控small RNAs合成及其对抗病性的调节
  • 批准号:
    91640114
  • 批准年份:
    2016
  • 资助金额:
    85.0 万元
  • 项目类别:
    重大研究计划

相似海外基金

Collaborative Research: SHF: Small: LEGAS: Learning Evolving Graphs At Scale
协作研究:SHF:小型:LEGAS:大规模学习演化图
  • 批准号:
    2331302
  • 财政年份:
    2024
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: LEGAS: Learning Evolving Graphs At Scale
协作研究:SHF:小型:LEGAS:大规模学习演化图
  • 批准号:
    2331301
  • 财政年份:
    2024
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Efficient and Scalable Privacy-Preserving Neural Network Inference based on Ciphertext-Ciphertext Fully Homomorphic Encryption
合作研究:SHF:小型:基于密文-密文全同态加密的高效、可扩展的隐私保护神经网络推理
  • 批准号:
    2412357
  • 财政年份:
    2024
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Quasi Weightless Neural Networks for Energy-Efficient Machine Learning on the Edge
合作研究:SHF:小型:用于边缘节能机器学习的准失重神经网络
  • 批准号:
    2326895
  • 财政年份:
    2023
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Enabling Efficient 3D Perception: An Architecture-Algorithm Co-Design Approach
协作研究:SHF:小型:实现高效的 3D 感知:架构-算法协同设计方法
  • 批准号:
    2334624
  • 财政年份:
    2023
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Technical Debt Management in Dynamic and Distributed Systems
合作研究:SHF:小型:动态和分布式系统中的技术债务管理
  • 批准号:
    2232720
  • 财政年份:
    2023
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Sub-millisecond Topological Feature Extractor for High-Rate Machine Learning
合作研究:SHF:小型:用于高速机器学习的亚毫秒拓扑特征提取器
  • 批准号:
    2234921
  • 财政年份:
    2023
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Reimagining Communication Bottlenecks in GNN Acceleration through Collaborative Locality Enhancement and Compression Co-Design
协作研究:SHF:小型:通过协作局部性增强和压缩协同设计重新想象 GNN 加速中的通信瓶颈
  • 批准号:
    2326494
  • 财政年份:
    2023
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Quasi Weightless Neural Networks for Energy-Efficient Machine Learning on the Edge
合作研究:SHF:小型:用于边缘节能机器学习的准失重神经网络
  • 批准号:
    2326894
  • 财政年份:
    2023
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Sub-millisecond Topological Feature Extractor for High-Rate Machine Learning
合作研究:SHF:小型:用于高速机器学习的亚毫秒拓扑特征提取器
  • 批准号:
    2234920
  • 财政年份:
    2023
  • 资助金额:
    $ 24.72万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了