Growing a Language: The GLooPerspective
Growing a Language: The GLooPerspective
复制标题
发展一门语言:GLoPerspective
DOI:
10.1007/978-3-540-78789-1_1
复制
发表时间:
2008
期刊:
影响因子:
--
通讯作者:
M. Lumpe
中科院分区:
文献类型:
--
作者:
M. Lumpe
The design of programming languages is, in general, geared towards accumulation rather than composition of features. However, by adding an ever-increasing number of built-in abstractions, any programming language is eventually at risk to reach a critical mass at which it may become increasingly difficult for designers to maintain and for developers to use an evolving language appropriately. To tackle this language design paradox, we have developed GLOO, a small open-ended dynamic language, whose design philosophy aims at a unified approach in which program and language evolution result directly from the definition of extensible domain sub-languages. Surprisingly, these extensible domain sub-languages not only provide a framework to capture domain expertise, but also give rise to a powerful compositional model for language extension. To demonstrate the effectiveness of this approach, we develop the Language of Namespaces and Traits in this paper. We define this extensible domain sub-language as an aggregate of various forms of object-oriented language support. Using the Language of Namespaces and Traits as example, we show that GLOO's extension model plays a crucial role in achieving a flexible compositional approach for the design of readily-available and extensible programming abstractions.