Towards Practical, Expressive Multimethods
Towards Practical, Expressive Multimethods
批准号:
9970986
负责人:
Craig Chambers
金额:
$20.0万
依托单位:
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
1999
资助国家:
美国
项目状态:
已结题
起止时间:
1999-09-01 至 2002-08-31
中文摘要
[70986]钱伯斯,克雷格·D.华盛顿大学,西雅图——走向实用的、富有表现力的多方法面向对象编程的承诺之一是开发高度可重用和可扩展的软件组件,但是传统的面向对象语言有根本的限制,阻碍了这一目标的实现。在一些面向对象语言中发现的多方法在一致性、灵活性、可重用性和可扩展性方面提供了一些优势。然而,与传统的面向对象语言相比,当前语言中的多方法存在一些弱点,包括缺乏静态类型检查的模块化方法、缺乏强大的封装机制,以及消息调度的运行时性能较差。本项目旨在解决这些问题。目前正在开发一种灵活的调度模型,该模型包括单调度、多调度和由模式匹配定义的函数,以及无类对象模型和静态类型系统。一个模块系统被添加到这个基础中,以提供封装和定义单独的静态类型检查单元。高效消息调度的新实现技术也正在开发中。为了评估这项研究,该设计被包含在一个适合理论研究的小型核心语言(命名为“可疑”)和一个适合实际编程的扩展语言(命名为“Diesel”)中,并且正在修改Vortex优化编译器基础结构以包含新的调度算法。
英文摘要
9970986 Chambers, Craig D. University of Washington, SeattleTowards Practical, Expressive MultimethodsOne of the promises of object-oriented programming is the development of highly reusable and extensible software components, but traditional object-oriented languages have fundamental limitations that hinder the attainment of this goal. Multimethods, as found in a few object-oriented languages, offer several advantages in uniformity, flexibility, reusability, and extensibility. However, multimethod in current languages suffer from several weaknesses compared to traditional object-oriented languages, including a lack of modular approaches to static typechecking, a lack of strong encapsulation mechanisms, and poorer run-time performance for message dispatching. This project seeks to solve these problems. A flexible model fordispatching is being developed that subsumes single dispatching, multiple dispatching, and functions defined by pattern-matching, along with a classless object model and a static type system. A module system is being added to this base, to provide encapsulation and to define the units of separate static typechecking. New implementation techniques for efficient message dispatching are also being developed. To assess this research, the design is being embodied into both a small core language suitable for theoretical study (named Dubious) and an extended language suitable for practical programming (named Diesel), and the Vortex optimizing compiler infrastructure is being modified to include the new dispatching algorithms.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
ITR Collaborative Research: A Reusable, Extensible, Optimizing Back End
-
批准号:0326590
-
项目类别:Continuing Grant
-
资助金额:$40.2万
-
财政年份:2003
-
负责人:Craig Chambers
-
依托单位:
NGS: Efficient, Adaptable Software via Staged Compilation
-
批准号:0203908
-
项目类别:Continuing Grant
-
资助金额:$49.99万
-
财政年份:2002
-
负责人:Craig Chambers
-
依托单位:
Integrating Software Architecture and Software Development
-
批准号:0204047
-
项目类别:Continuing Grant
-
资助金额:$27.0万
-
财政年份:2002
-
负责人:Craig Chambers
-
依托单位:
Representation Specification and Optimization of Object-Oriented Languages
-
批准号:0073379
-
项目类别:Continuing Grant
-
资助金额:$24.98万
-
财政年份:2000
-
负责人:Craig Chambers
-
依托单位:
Analysis and Optimization of Object-Oriented Languages
-
批准号:9503741
-
项目类别:Continuing Grant
-
资助金额:$14.99万
-
财政年份:1995
-
负责人:Craig Chambers
-
依托单位:
NSF Young Investigator: Object-Oriented Language Design and Implementation Research
-
批准号:9457767
-
项目类别:Continuing Grant
-
资助金额:$32.26万
-
财政年份:1994
-
负责人:Craig Chambers
-
依托单位:
Design and Implementation of High-Productivity Programming Systems
-
批准号:9210990
-
项目类别:Standard Grant
-
资助金额:$9.0万
-
财政年份:1992
-
负责人:Craig Chambers
-
依托单位:
海外基金