Implementation of Dynamic Programming Languages
动态编程语言的实现
基本信息
- 批准号:RGPIN-2016-05682
- 负责人:
- 金额:$ 2.77万
- 依托单位:
- 依托单位国家:加拿大
- 项目类别:Discovery Grants Program - Individual
- 财政年份:2020
- 资助国家:加拿大
- 起止时间:2020-01-01 至 2021-12-31
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
Dynamic programming languages such as JavaScript, Python and Ruby are gaining in popularity. These languages offer many features which ease the development of evolvable complex applications: a rapid development cycle, introspection, language extensibility, high level of abstraction, code migration, etc. Current implementations of these languages use highly complex multi-tier designs which nevertheless still lag in terms of performance when compared to static programming languages (C, Java, etc). The long term objectives of the proposed research program are to lower the development cost of VMs for dynamic programming languages and improve their performance.
The research program will continue work on recent advancements in the field of Just-In-Time compilation. The technique of lazy Basic Block Versioning has been shown to be effective at eliminating run-time type checks from dynamically typed programs. This approach will first be extended to make it operate interprocedurally, both when the source program uses higher order functions and not. Then we will instigate the power of the approach by applying it to other compilation problems, including register allocation, memory management, function inlining and automatic program parallelization.
We will also investigate the design of a self-hosted JIT compiler which can benefit from previous runs of the programs, possibly by other users at other locations, to reduce the cost of recompiling the program. We also plan to study the implementation of parallelism in the context of dynamic languages. We are interested in the parallelism model of the functional programming languages Clojure (based on transactions, agents), Erlang (based on Actors) and Termite (that offers task migration through continuation serialization).
动态编程语言,如JavaScript、Python和Ruby正在变得越来越受欢迎。这些语言提供了许多功能,可以简化可演化的复杂应用程序的开发:快速开发周期、自省、语言可扩展性、高级抽象、代码迁移等。这些语言的当前实现使用高度复杂的多层设计,但与静态编程语言(C、Java等)相比,这些设计在性能方面仍然落后。提出的研究计划的长期目标是降低动态编程语言的VM的开发成本并提高其性能。
该研究方案将继续就即时汇编领域的最新进展开展工作。惰性基本块版本控制技术已被证明在消除动态类型程序的运行时类型检查方面是有效的。当源程序使用高阶函数和不使用高阶函数时,这种方法将首先被扩展以使其在过程间操作。然后,我们将通过将该方法应用于其他编译问题来激发该方法的能力,包括寄存器分配、内存管理、函数内联和自动程序并行化。
我们还将研究自托管JIT编译器的设计,该编译器可以受益于以前运行的程序,可能是由其他位置的其他用户运行的,以减少重新编译程序的成本。我们还计划研究在动态语言环境中实现并行性。我们感兴趣的是函数式编程语言Clojure(基于事务、代理)、Erlang(基于Actors)和Termite(通过延续序列化提供任务迁移)的并行模型。
项目成果
期刊论文数量(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 }}
Feeley, Marc其他文献
Feeley, Marc的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Feeley, Marc', 18)}}的其他基金
High-Performance Dynamic Language Implementation
高性能动态语言实现
- 批准号:
RGPIN-2022-04318 - 财政年份:2022
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
Implementation of Dynamic Programming Languages
动态编程语言的实现
- 批准号:
RGPIN-2016-05682 - 财政年份:2021
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
Implementation of Dynamic Programming Languages
动态编程语言的实现
- 批准号:
RGPIN-2016-05682 - 财政年份:2019
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
Implementation of Dynamic Programming Languages
动态编程语言的实现
- 批准号:
RGPIN-2016-05682 - 财政年份:2018
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
Implementation of Dynamic Programming Languages
动态编程语言的实现
- 批准号:
492964-2016 - 财政年份:2018
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Accelerator Supplements
Implementation of Dynamic Programming Languages
动态编程语言的实现
- 批准号:
492964-2016 - 财政年份:2017
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Accelerator Supplements
Implementation of Dynamic Programming Languages
动态编程语言的实现
- 批准号:
RGPIN-2016-05682 - 财政年份:2017
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
Implementation of Dynamic Programming Languages
动态编程语言的实现
- 批准号:
492964-2016 - 财政年份:2016
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Accelerator Supplements
Implementation of Dynamic Programming Languages
动态编程语言的实现
- 批准号:
RGPIN-2016-05682 - 财政年份:2016
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
Dynamic languages: design, implementation and evaluation
动态语言:设计、实现和评估
- 批准号:
107902-2010 - 财政年份:2014
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
相似国自然基金
Dynamic Credit Rating with Feedback Effects
- 批准号:
- 批准年份:2024
- 资助金额:万元
- 项目类别:外国学者研究基金项目
相似海外基金
Rubber DUQ: Flexible Dynamic Universal Quantum programming
Rubber DUQ:灵活动态通用量子编程
- 批准号:
EP/X025551/1 - 财政年份:2024
- 资助金额:
$ 2.77万 - 项目类别:
Research Grant
Stochasticity in Approximate Dynamic Programming
近似动态规划中的随机性
- 批准号:
RGPIN-2020-04301 - 财政年份:2022
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
Development of a dynamic and friendly program visualization for learning materials of functional programming
开发动态且友好的程序可视化,用于函数式编程的学习材料
- 批准号:
22K12320 - 财政年份:2022
- 资助金额:
$ 2.77万 - 项目类别:
Grant-in-Aid for Scientific Research (C)
Approximate Dynamic Programming for Service Systems
服务系统的近似动态规划
- 批准号:
RGPIN-2020-04229 - 财政年份:2022
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
Stochastic dynamic programming for modelling and solving extended multivariate structural models
用于建模和求解扩展多元结构模型的随机动态规划
- 批准号:
RGPIN-2018-04432 - 财政年份:2022
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
Approximate Dynamic Programming Methods for Dynamic Resource Allocation Problems in Health Care
医疗保健中动态资源分配问题的近似动态规划方法
- 批准号:
RGPIN-2018-05225 - 财政年份:2022
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
Data-driven stochastic dynamic programming approaches for optimal planning of disease screening and chronic disorder management
数据驱动的随机动态规划方法,用于疾病筛查和慢性疾病管理的优化规划
- 批准号:
RGPIN-2018-06596 - 财政年份:2022
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
Implementation of Dynamic Programming Languages
动态编程语言的实现
- 批准号:
RGPIN-2016-05682 - 财政年份:2021
- 资助金额:
$ 2.77万 - 项目类别:
Discovery Grants Program - Individual
Overcoming the curse of dimensionality in dynamic programming by tensor decompositions
通过张量分解克服动态规划中的维数灾难
- 批准号:
EP/V04771X/1 - 财政年份:2021
- 资助金额:
$ 2.77万 - 项目类别:
Research Grant
Error Inclusive Programming and Common-Sense Oriented Feature Extraction for Dynamic Acquisition and Correction of Robotic Actions
错误包容编程和面向常识的特征提取,用于机器人动作的动态获取和校正
- 批准号:
21J10800 - 财政年份:2021
- 资助金额:
$ 2.77万 - 项目类别:
Grant-in-Aid for JSPS Fellows