首页> 外文会议>Functional and constraint logic programming >Mixed-Level Embedding and JIT Compilation for an Iteratively Staged DSL
【24h】

Mixed-Level Embedding and JIT Compilation for an Iteratively Staged DSL

机译:迭代阶段DSL的混合级别嵌入和JIT编译

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

摘要

This paper explores how to implement an iteratively staged domain-specific language (DSL) by embedding into a functional language. The domain is modelling and simulation of physical systems where models are expressed in terms of non-causal differential-algebraic equations; i.e., sets of constraints solved through numerical simulation. What distinguishes our language is that the equational constraints are first class entities allowing for an evolving model structure characterised by repeated generation of updated constraints. Hence iteratively staged. Our DSL can thus be seen as a combined functional and constraint programming language, albeit a two-level one, with the functional language chiefly serving as a meta language. However, the two levels do interact throughout the simulation. The embedding strategy we pursue is a mixture of deep and shallow, with the deep embedding enabling just-in-time (JIT) compilation of the constraints as they are generated for efficiency, while the shallow embedding is used for the remainder for maximum leverage of the host language. The paper is organised around a specific DSL, but our implementation strategy should be applicable for iteratively staged languages in general. Our DSL itself is further a novel variation of a declarative constraint programming language.
机译:本文探讨了如何通过嵌入功能语言来实现迭代阶段的领域特定语言(DSL)。领域是物理系统的建模和仿真,其中,模型以非因果微分-代数方程表示;即通过数值模拟解决的约束集。我们的语言与众不同的是,方程式约束是一等实体,允许以不断生成更新约束为特征的演化模型结构。因此,反复进行。因此,我们的DSL可以看作是功能和约束编程的组合语言,尽管是两级的,而功能语言主要充当元语言。但是,这两个级别在整个仿真过程中确实会相互作用。我们追求的嵌入策略是深层和浅层的混合体,深层嵌入可实时生成约束以提高效率,而约束则可进行即时(JIT)编译,而浅层嵌入可用于其余约束,从而最大程度地利用主机语言。本文围绕特定的DSL进行组织,但是我们的实施策略通常应适用于迭代阶段的语言。我们的DSL本身是声明性约束编程语言的一种新颖变体。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号