首页> 外文会议>European conference on object-oriented programming >Feature-Oriented Programming with Object Algebras
【24h】

Feature-Oriented Programming with Object Algebras

机译:使用对象代数的面向特征的编程

获取原文
获取外文期刊封面目录资料

摘要

Object algebras are a new programming technique that enables a simple solution to basic extensibility and modularity issues in programming languages. While object algebras excel at defining modular features, the composition mechanisms for object algebras (and features) are still cumbersome and limited in expressiveness. In this paper we leverage two well-studied type system features, intersection types and type-constructor polymorphism, to provide object algebras with expressive and practical composition mechanisms. Intersection types are used for defining expressive run-time composition operators (combinators) that produce objects with multiple (feature) interfaces. Type-constructor polymorphism enables generic interfaces for the various object algebra combinators. Such generic interfaces can be used as a type-safe front end for a generic implementation of the combinators based on reflection. Additionally, we also provide a modular mechanism to allow different forms of self-references in the presence of delegation-based combinators. The result is an expressive, type-safe, dynamic, delegation-based composition technique for object algebras, implemented in Scala, which effectively enables a form of Feature-Oriented Programming using object algebras.
机译:对象代数是一种新的编程技术,可为编程语言中的基本可扩展性和模块性问题提供简单的解决方案。尽管对象代数擅长定义模块化特征,但对象代数(和特征)的合成机制仍然繁琐且表达能力受到限制。在本文中,我们利用两个经过充分研究的类型系统特征,即交集类型和类型构造器多态性,为对象代数提供了表达性和实用性的组合机制。交叉点类型用于定义产生具有多个(功能)接口的对象的表达性运行时组合运算符(组合器)。类型构造器多态性为各种对象代数组合器启用通用接口。这样的通用接口可以用作基于反射的组合器的通用实现的类型安全的前端。此外,我们还提供了一种模块化机制,允许在存在基于委托的组合器的情况下使用不同形式的自引用。结果是在Scala中实现的一种可表达的,类型安全的,动态的,基于委托的对象代数合成技术,该技术在Scala中实现,可有效地使用对象代数实现一种面向特征的编程形式。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号