Typer: a Lisp approach to dependent types
Typer:一种处理依赖类型的 Lisp 方法
基本信息
- 批准号:298311-2012
- 负责人:
- 金额:$ 1.02万
- 依托单位:
- 依托单位国家:加拿大
- 项目类别:Discovery Grants Program - Individual
- 财政年份:2015
- 资助国家:加拿大
- 起止时间:2015-01-01 至 2016-12-31
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
To improve program reliability and programmer productivity, we need to make it harder for the programmer to introduce bugs, and to catch those bugs as early as possible. That implies we want to use high-level languages and libraries, which let the programmer write less code and hence fewer bugs. And we want to use testing and formal methods to catch bugs early.
The more lightweight the method we use, the better, since one of the virtues of programmers is laziness. The most successful formal method around is by far type checking, as seen for example in Java.
Sadly, traditional types only bring us so far. Other techniques let us catch more bugs, e.g. model checking or Hoare-style logic, but at the cost of a lot more work and expertise, leaving those techniques to niches.
My research program proposes a new language Typer, which combines the pragmatic flexibility of Lisp style languages with the powerful theory of dependent types used in proof assistants. Its type system seamlessly covers the range from traditional simple type annotations to arbitrarily more complex correctness properties. This will make it easier to write and maintain software whose robustness is mechanically verified.
Of course, the success of Java-style type checking does not immediately carry over to all forms of type checking. To make use of the extra power, you still need extra work, extra annotations, and extra expertise. To some extent this is unavoidable, but there is still a lot of room for improvement. So the focus of my research program is on making it easier and more incremental to use the extra power provided by advanced type systems.
Formal methods have revolutionized the way hardware is designed, and the world of computer software is going through a similar transformation; leading it can bring large strategic benefits to the software industry in Canada. Another way to evaluate the impact of such a development is to look at the current vulnerability of our society as a whole to very simple computer viruses.
为了提高程序的可靠性和程序员的生产力,我们需要让程序员更难引入bug,并尽可能早地捕获这些bug。 这意味着我们希望使用高级语言和库,这可以让程序员编写更少的代码,从而减少错误。 我们希望使用测试和正式的方法来早期捕获bug。
我们使用的方法越轻量级越好,因为程序员的优点之一就是懒惰。 最成功的形式化方法是类型检查,例如在Java中。
可悲的是,传统的类型只能带我们到目前为止。 其他技术可以让我们捕获更多的错误,例如模型检查或Hoare风格的逻辑,但代价是更多的工作和专业知识,将这些技术留给利基。
我的研究计划提出了一种新的语言类型,它结合了Lisp风格语言的实用灵活性和证明助手中使用的依赖类型的强大理论。 它的类型系统无缝地覆盖了从传统的简单类型注释到任意更复杂的正确性属性的范围。 这将使编写和维护其鲁棒性经过机械验证的软件变得更容易。
当然,Java风格的类型检查的成功并不能立即推广到所有形式的类型检查。 为了利用额外的功能,您仍然需要额外的工作、额外的注释和额外的专业知识。 在某种程度上,这是不可避免的,但仍有很大的改进空间。 因此,我的研究计划的重点是使其更容易和更增量地使用高级类型系统提供的额外功能。
形式化方法已经彻底改变了硬件的设计方式,计算机软件世界也正在经历类似的转变;领导它可以为加拿大的软件行业带来巨大的战略利益。 评估这种发展的影响的另一种方法是看看我们整个社会目前对非常简单的计算机病毒的脆弱性。
项目成果
期刊论文数量(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 }}
Monnier, Stefan其他文献
Monnier, Stefan的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Monnier, Stefan', 18)}}的其他基金
Typer: An exocompiler to program with dependent types
Typer:用于使用依赖类型进行编程的外编译器
- 批准号:
RGPIN-2018-06225 - 财政年份:2022
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Typer: An exocompiler to program with dependent types
Typer:用于使用依赖类型进行编程的外编译器
- 批准号:
RGPIN-2018-06225 - 财政年份:2021
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Typer: An exocompiler to program with dependent types
Typer:用于使用依赖类型进行编程的外编译器
- 批准号:
RGPIN-2018-06225 - 财政年份:2020
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Typer: An exocompiler to program with dependent types
Typer:用于使用依赖类型进行编程的外编译器
- 批准号:
RGPIN-2018-06225 - 财政年份:2019
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Typer: An exocompiler to program with dependent types
Typer:用于使用依赖类型进行编程的外编译器
- 批准号:
RGPIN-2018-06225 - 财政年份:2018
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Typer: a Lisp approach to dependent types
Typer:一种处理依赖类型的 Lisp 方法
- 批准号:
298311-2012 - 财政年份:2017
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Typer: a Lisp approach to dependent types
Typer:一种处理依赖类型的 Lisp 方法
- 批准号:
298311-2012 - 财政年份:2014
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Typer: a Lisp approach to dependent types
Typer:一种处理依赖类型的 Lisp 方法
- 批准号:
298311-2012 - 财政年份:2013
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Typer: a Lisp approach to dependent types
Typer:一种处理依赖类型的 Lisp 方法
- 批准号:
298311-2012 - 财政年份:2012
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Type based software verification
基于类型的软件验证
- 批准号:
298311-2007 - 财政年份:2011
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
相似国自然基金
基于构造性证明的程序理论与LISP,PROLOG自动程序设计
- 批准号:68673019
- 批准年份:1986
- 资助金额:1.0 万元
- 项目类别:面上项目
相似海外基金
Typer: a Lisp approach to dependent types
Typer:一种处理依赖类型的 Lisp 方法
- 批准号:
298311-2012 - 财政年份:2017
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Typer: a Lisp approach to dependent types
Typer:一种处理依赖类型的 Lisp 方法
- 批准号:
298311-2012 - 财政年份:2014
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Typer: a Lisp approach to dependent types
Typer:一种处理依赖类型的 Lisp 方法
- 批准号:
298311-2012 - 财政年份:2013
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Typer: a Lisp approach to dependent types
Typer:一种处理依赖类型的 Lisp 方法
- 批准号:
298311-2012 - 财政年份:2012
- 资助金额:
$ 1.02万 - 项目类别:
Discovery Grants Program - Individual
Lithospheric structure of the Namibian continental passive margin at the intersection with the Walvis Ridge from amphibious seismic investigations (LISP-WAL)
两栖地震调查显示纳米比亚大陆被动边缘与沃尔维斯海岭交汇处的岩石圈结构 (LISP-WAL)
- 批准号:
173404131 - 财政年份:2010
- 资助金额:
$ 1.02万 - 项目类别:
Priority Programmes
マルチスレッドLispの実時間GC機能の導入とヒューマノイド行動の実現
多线程Lisp实时GC功能介绍及人形行为实现
- 批准号:
16016214 - 财政年份:2004
- 资助金额:
$ 1.02万 - 项目类别:
Grant-in-Aid for Scientific Research on Priority Areas
ISO標準Lisp言語ISLISPの高性能処理系とプログラミング環境の実現
ISO标准Lisp语言ISLISP的高性能处理系统和编程环境的实现
- 批准号:
01J08266 - 财政年份:2001
- 资助金额:
$ 1.02万 - 项目类别:
Grant-in-Aid for JSPS Fellows
STUDIES of FUNCTIONAL IMPROVEMENT and HIGHER COMPATIBILITY in CAI system described by LISP
LISP描述的CAI系统功能改进和更高兼容性的研究
- 批准号:
04558037 - 财政年份:1992
- 资助金额:
$ 1.02万 - 项目类别:
Grant-in-Aid for Developmental Scientific Research (B)
Continued Development of P3D, A Lisp-based Metafile for 3D Models
持续开发 P3D,一种基于 Lisp 的 3D 模型图元文件
- 批准号:
9014315 - 财政年份:1990
- 资助金额:
$ 1.02万 - 项目类别:
Standard Grant
Development of Instructional Package on Lisp Programming to Give More Understanding about Mathematical Concepts. - for Mathematics Education at High School Level
开发 Lisp 编程教学包,以加深对数学概念的理解。
- 批准号:
01880032 - 财政年份:1989
- 资助金额:
$ 1.02万 - 项目类别:
Grant-in-Aid for Developmental Scientific Research














{{item.name}}会员




