【24h】

TecScript: A Scripting Language Design for Large-scale Object-oriented Component-based Application Frameworks

机译:TecScript:大型面向对象的基于组件的应用程序框架的脚本语言设计

获取原文
获取原文并翻译 | 示例

摘要

TecScript is a scripting language that greatly narrows the semantic gap that currently exists between extant scripting languages and the application languages C++ and Java. TecScript was born of necessity and frustration; already use of the TecScript scripting layer has proven gratifyingly effective for achieving the broad generality (within a specific domain) characteristic of the very large scale (hundreds of programmer-years), object-oriented, component-based application frameworks being developed at DOE laboratories for physics simulations on the world's largest computers. Notwithstanding, the first incarnation of TecScript is decidedly primitive; TecScript 2.0 is a complete redesign from basic programming language principles. The design of TecScript 2.0 is rigorous. The semantic features, particularly the type system, are being formally defined-from the mathematical foundations of the denotation-al semantics to the concrete syntax. For the type system care is being taken to maintain desirable provable properties such as the existence of principal typing of language expressions, soundness and completeness of a type inference algorithm, and of particular importance in this context, a formally defined mapping between types and values (elements of types) in TecScript and C++, and similarly for Java. Key features of the type system are: Hindley-Milner parametric polymorphism as a subset, incorporation of Haskell-style type-and constructor classes, incorporation of extensible records and variants, and on that base augmentation sufficient to allow the desired mapping to and from the C++ (Java) type system (for C++, less minor aspects of the class template mechanism). The expression language is pure functional, with strict semantics, support for explicit parallism, and support of imperative features via monadic constructs. A crucial feature of the language implementation is that it be compilable with the C++ (Java) application; this allows the realization of the semantically deep communication and control between application and script enabled by the mapping between type systems.
机译:TecScript是一种脚本语言,极大地缩小了现有脚本语言与C ++和Java应用程序语言之间目前存在的语义鸿沟。 TecScript诞生于必然性和挫败感。已经证明TecScript脚本层的使用已经取得了令人欣喜的效果,可有效地实现DOE实验室正在开发的大规模(数百个程序员年)面向对象的基于组件的应用程序框架的广泛通用性(在特定领域内)。用于在世界上最大的计算机上进行物理模拟。尽管如此,TecScript的第一个版本显然是原始的。 TecScript 2.0是对基本编程语言原理的完整重新设计。 TecScript 2.0的设计非常严格。从符号语义的数学基础到具体语法,形式上的语义特征(尤其是类型系统)正在被正式定义。对于类型系统,要注意保持理想的可证明属性,例如是否存在语言表达式的主要类型,类型推断算法的健全性和完整性,并且在这种情况下特别重要的是类型和值之间的形式定义的映射( TecScript和C ++中的类型的元素),对于Java类似。类型系统的主要特征是:作为子集的Hindley-Milner参数多态性,并入Haskell样式的类型和构造函数类,并入可扩展的记录和变体,并在此基础上进行扩展,足以允许期望的映射与子对象之间的映射。 C ++(Java)类型系统(对于C ++,类模板机制的次要方面)。表达式语言是纯功能性的,具有严格的语义,对显式并行性的支持以及通过单子结构对命令式功能的支持。语言实现的一个关键功能是它可以与C ++(Java)应用程序一起编译。通过类型系统之间的映射,这可以实现应用程序和脚本之间语义上深层次的通信和控制。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号