Disciplined Meta-Programming
严格的元编程
基本信息
- 批准号:262084-2012
- 负责人:
- 金额:$ 1.6万
- 依托单位:
- 依托单位国家:加拿大
- 项目类别:Discovery Grants Program - Individual
- 财政年份:2012
- 资助国家:加拿大
- 起止时间:2012-01-01 至 2013-12-31
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
Computer scientists have been writing programs which manipulate programs (such as compilers) for a very long time. Software engineers, on the other hand, have been much slower to use this particular technique, mostly because standard design methodologies do not embrace such techniques. This has recently started to change, and there are a variety of reasons for this, amongst which: 1. the increasing popularity of Domain Specific Languages, 2. the fact that writing parallel software by hand is difficult and error-prone, and 3. that current programming languages offer poor "higher-level" abstraction mechanisms. Unfortunately, few meta-programs (as programs which manipulate programs are called) encountered "in the wild" are as well-structured as "regular" programs. In other words, there does not seem to be good development models for writing such programs. This is rather unfortunate, as meta-programs allow standard software engineering concepts (such as design choices) to become first-class software artifacts. Furthermore, in the case of mature domains (like scientific computation), higher-order structure can be effectively captured and leveraged to both drastically shorten source programs as well as to generate more efficient run-time programs. Our objective is to rectify this situation, in the context of statically-typed, purely functional meta-programming. We will continue our successful work on finding and inventing the techniques necessary for writing disciplined and modular meta-programs. One very successful approach has been to take program families, and engineer non ad hoc abstractions which appropriately capture the design choices of those families. These abstractions form the core of generators for the family members. Through writing larger generative libraries of reusable components (for scientific computation and for games), we will leverage our ongoing foundational work on mechanized mathematics (the MathScheme project), as well as our expertise in advanced meta-programming techniques, to distill our experience-driven design knowledge into an effective development methodology which can appropriately encompass the design of principled meta-programs.
计算机科学家编写操纵程序(如编译器)的程序已经有很长时间了。 另一方面,软件工程师使用这种特殊技术的速度要慢得多,主要是因为标准的设计方法不包含这种技术。 这种情况最近开始改变,原因有很多,其中包括:1。领域特定语言的日益普及,2。用手工编写并行软件是困难的并且容易出错的事实,以及3.当前的编程语言提供了很差的“高级”抽象机制。 不幸的是,很少有“野外”遇到的元程序(操纵程序的程序)像“常规”程序一样结构良好。 换句话说,似乎没有好的开发模型来编写这样的程序。 这是相当不幸的,因为元程序允许标准的软件工程概念(如设计选择)成为一流的软件工件。 此外,在成熟领域(如科学计算)的情况下,高阶结构可以有效地捕获和利用,以大大缩短源程序以及生成更有效的运行时程序。 我们的目标是在静态类型的纯函数元编程的上下文中纠正这种情况。 我们将继续我们的成功工作,寻找和发明必要的技术,编写纪律和模块化的元程序。 一个非常成功的方法是采用程序族,并设计适当捕获这些族的设计选择的非特定抽象。这些抽象构成了家族成员生成器的核心。 通过编写更大的可重用组件生成库(用于科学计算和游戏),我们将利用我们正在进行的机械化数学基础工作(MathScheme项目),以及我们在高级元编程技术方面的专业知识,将我们的经验驱动的设计知识提炼成有效的开发方法,可以适当地包含原则性元程序的设计。
项目成果
期刊论文数量(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 }}
Carette, Jacques其他文献
Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages
- DOI:
10.1017/s0956796809007205 - 发表时间:
2009-09-01 - 期刊:
- 影响因子:1.1
- 作者:
Carette, Jacques;Kiselyov, Oleg;Shan, Chung-Chieh - 通讯作者:
Shan, Chung-Chieh
Carette, Jacques的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Carette, Jacques', 18)}}的其他基金
From Code to Knowledge to Software
从代码到知识到软件
- 批准号:
RGPIN-2018-05812 - 财政年份:2022
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
From Code to Knowledge to Software
从代码到知识到软件
- 批准号:
RGPIN-2018-05812 - 财政年份:2021
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
From Code to Knowledge to Software
从代码到知识到软件
- 批准号:
RGPIN-2018-05812 - 财政年份:2020
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
From Code to Knowledge to Software
从代码到知识到软件
- 批准号:
RGPIN-2018-05812 - 财政年份:2019
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
From Code to Knowledge to Software
从代码到知识到软件
- 批准号:
RGPIN-2018-05812 - 财政年份:2018
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
Disciplined Meta-Programming
严格的元编程
- 批准号:
262084-2012 - 财政年份:2016
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
Disciplined Meta-Programming
严格的元编程
- 批准号:
262084-2012 - 财政年份:2015
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
Disciplined Meta-Programming
严格的元编程
- 批准号:
262084-2012 - 财政年份:2014
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
Disciplined Meta-Programming
严格的元编程
- 批准号:
262084-2012 - 财政年份:2013
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
相似国自然基金
基于Meta分析、数据挖掘和网络药理学探讨中成药治疗广泛性焦虑症的疗效、用药规律和机制
- 批准号:2025A01004
- 批准年份:2025
- 资助金额:0.0 万元
- 项目类别:省市级项目
Meta建模驱动下CRRT管路凝血预警模型构建及其应用研究
- 批准号:
- 批准年份:2024
- 资助金额:0.0 万元
- 项目类别:省市级项目
乳腺癌CDK4/6抑制剂耐药新机制:ACAT2代谢物Meta2靶向调控YAP构象及活性促进其核转位的机制研究
- 批准号:82303834
- 批准年份:2023
- 资助金额:30 万元
- 项目类别:青年科学基金项目
抗精神病药治疗精神分裂症的西方与中国临床研究证据:建立联合数据库及运用网状meta分析方法
- 批准号:
- 批准年份:2021
- 资助金额:100 万元
- 项目类别:
基于多维网状Meta分析和WGCNA的复方苦参注射液干预胃癌LncRNA临床关联模型构建
- 批准号:
- 批准年份:2020
- 资助金额:55 万元
- 项目类别:面上项目
针刺疗法网状Meta分析报告质量评价及关键方法研究
- 批准号:82004203
- 批准年份:2020
- 资助金额:24.0 万元
- 项目类别:青年科学基金项目
基于SCAN meta-GGA泛函从头算分子动力学对过冷水性质反常机制的研究
- 批准号:11874191
- 批准年份:2018
- 资助金额:60.0 万元
- 项目类别:面上项目
基于Meta流行病学和大数据监督学习构建针刺试验偏倚风险评估工具和人工智能辅助评估模型研究
- 批准号:81873197
- 批准年份:2018
- 资助金额:60.0 万元
- 项目类别:面上项目
大豆蛋白质含量QTL的Meta分析、精细定位与候选基因挖掘鉴定
- 批准号:31701449
- 批准年份:2017
- 资助金额:25.0 万元
- 项目类别:青年科学基金项目
基于贝叶斯网状Meta分析的丹参类注射剂治疗不稳定型心绞痛多维临床评价模型构建
- 批准号:81673829
- 批准年份:2016
- 资助金额:59.0 万元
- 项目类别:面上项目
相似海外基金
Moebius: Logical Principles for Type-Safe Meta-Programming
Moebius:类型安全元编程的逻辑原理
- 批准号:
RGPIN-2022-03224 - 财政年份:2022
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
Disciplined Meta-Programming
严格的元编程
- 批准号:
262084-2012 - 财政年份:2016
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
Disciplined Meta-Programming
严格的元编程
- 批准号:
262084-2012 - 财政年份:2015
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
Disciplined Meta-Programming
严格的元编程
- 批准号:
262084-2012 - 财政年份:2014
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
Disciplined Meta-Programming
严格的元编程
- 批准号:
262084-2012 - 财政年份:2013
- 资助金额:
$ 1.6万 - 项目类别:
Discovery Grants Program - Individual
A study on hygienic syntactic macro system as a generic meta-programming foundation
作为通用元编程基础的卫生句法宏系统研究
- 批准号:
23500034 - 财政年份:2011
- 资助金额:
$ 1.6万 - 项目类别:
Grant-in-Aid for Scientific Research (C)
Deep cognitive diagnosis in intelligent tutoring systems in the framework of logic programming and meta-level reasoning
逻辑编程和元级推理框架下智能辅导系统的深度认知诊断
- 批准号:
206483810 - 财政年份:2011
- 资助金额:
$ 1.6万 - 项目类别:
Research Grants
SHF: Small: An Extensible Gradual Type System via Compile-Time Meta-Programming
SHF:小型:通过编译时元编程的可扩展渐进类型系统
- 批准号:
0914759 - 财政年份:2009
- 资助金额:
$ 1.6万 - 项目类别:
Standard Grant
Foundation of Meta-Programming
元编程基础
- 批准号:
16500004 - 财政年份:2004
- 资助金额:
$ 1.6万 - 项目类别:
Grant-in-Aid for Scientific Research (C)