一种面向大规模泛型编程的语言
编程语言
2007-08-17 v1 软件工程
摘要
泛型编程是开发可重用软件库的一种有效方法。许多编程语言提供了泛型机制以及描述接口的特性,但没有任何一种语言能完全支持泛型编程中使用的惯用法。为满足这一需求,我们开发了语言 G。G 的核心特性是 concept(概念),这是一种受现代 C++ 库需求启发而设计的、用于组织泛型约束的机制。G 提供了模块化类型检查和分离编译(甚至针对泛型)。这些特性支持模块化软件开发,特别是独立开发组件的平滑集成。在本文中,我们阐述了 G 的设计原理,并通过两个案例研究展示了 G 的表达能力:将标准模板库(Standard Template Library)和 Boost 图库(Boost Graph Library)从 C++ 移植到 G。G 的设计与为下一代 C++ 标准提出的 concept 扩展有许多共同之处(作者参与了该扩展的设计),但本文也描述了两者之间的重要差异。
引用
@article{arxiv.0708.2255,
title = {A Language for Generic Programming in the Large},
author = {Jeremy G. Siek and Andrew Lumsdaine},
journal= {arXiv preprint arXiv:0708.2255},
year = {2007}
}
评论
50 pages