计算之智与哲学之慧分享 http://blog.sciencenet.cn/u/huangfuqiang

博文

依赖型程序设计方法探索

已有 3346 次阅读 2009-2-23 21:39 |个人分类:计算机软件理论与工程|系统分类:科研笔记| Dependently_Typed, Programming

Dependently Typed Programming 2008

February 18-20, University of Nottingham
a TYPES topical workshop


Introduction

Dependently typed programming is here today: where will it go tomorrow? On the one hand, dependent type theories have grown programming languages; on the other hand, the type systems of programming languages like Haskell(函数式编程语言) (and even C#(对象式编程语言)) are incorporating some kinds of type-level data.

When types involve data, they can capture relationships between data, internalising invariants necessary for appropriate computation. When data describe types, we can express patterns of programming in code. We're beginning to see how to take advantage of the power and precision which dependent types afford, but there are still plenty of problems to address and issues to resolve. The design space is large: this workshop is a forum for researchers who are lucky enough to be exploring it.

We hope that the workshop will attract people who either work on the design and implementation of dependently typed programming languages and development environments, or who are using existing systems to develop dependently typed programs or libraries. The following list contains an (incomplete) selection of topics relevant for the workshop:

  • The design of dependently typed programming languages: Should we care about phase, or not? Are we going to be partial or total? Are we going to be uniform or properly dependent? How do we deal with equality on the level of types.
  • Programming: What are good examples of dependently typed programming? What are the killer apps? What are the emerging programming patterns?
  • Type checking and elaboration: Clearly, dependent types raise issues which go beyond the traditional Hindley-Milner approach, but hopefully there is a lot to salvage.
  • Compilation: Can we produce efficent code for Dependently Typed Programs? At least as good as C, if not better?
  • Development environments: Dependent types open up new challenges but also new opportunities for IDEs.
  • Reusability: Finer types reduce the reusability of code, but maybe the dependent types come with their own remedy: generic programming using universes? Do we need a module system, and if yes how should it look like? What are examples of good library design?
  • Reasoning: How well do dependent types integrate with reasoning? Or is program verification just a special form of programming anyway?
  • Effects: How to interface dependently typed programs with the real world? While this was the topic of our recent sister workshop, we may want to continue this theme here.

!NEW! Slides

Dependently_Typed Programming 2008

Lightweight Dependent-type Programming

Epigram is a dependently typed programming language and an interactive programming environment。

https://blog.sciencenet.cn/blog-89075-216776.html

上一篇: the 20th century greatest engineering achievements
下一篇:Larry Paulson
收藏 IP: .*| 热度|

0

该博文允许实名用户评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-7-29 00:25

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部