首页> 外文会议>Domain-specific languages >Generic Libraries in C++ with Concepts from High-Level Domain Descriptions in Haskell: A Domain-Specific Library for Computational Vulnerability Assessment
【24h】

Generic Libraries in C++ with Concepts from High-Level Domain Descriptions in Haskell: A Domain-Specific Library for Computational Vulnerability Assessment

机译:具有Haskell中高级域描述的概念的C ++通用库:用于计算漏洞的域特定库

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

摘要

A class of closely related problems, a problem domain, can often be described by a domain-specific language, which consists of algorithms and com-binators useful for solving that particular class of problems. Such a language can be of two kinds: it can form a new language or it can be embedded as a sublanguage in an existing one. We describe an embedded DSL in the form of a library which extends a general purpose language. Our domain is that of vulnerability assessment in the context of climate change, formally described at the Potsdam Institute for Climate Impact Research. The domain is described using Haskell, yielding a domain specific sublanguage of Haskell that can be used for prototyping of implementations.rnIn this paper we present a generic C++ library that implements a domain-specific language for vulnerability assessment, based on the formal Haskell description. The library rests upon and implements only a few notions, most importantly, that of a monadic system, a crucial part in the vulnerability assessment formalisation. We describe the Haskell description of monadic systems and we show our mapping of the description to generic C++ components. Our library heavily relies on concepts, a C++ feature supporting generic programming: a conceptual framework forms the domain-specific type system of our library. By using functions, parametrised types and concepts from our conceptual framework, we represent the combinators and algorithms of the domain. Furthermore, we discuss what makes our library a domain specific language and how our domain-specific library scheme can be used for other domains (concerning language design, software design, and implementation techniques).
机译:一类密切相关的问题,即问题域,通常可以通过领域特定的语言来描述,该语言包含对解决特定类问题有用的算法和组合器。这种语言可以有两种:它可以构成一种新语言,也可以作为一种子语言嵌入到现有语言中。我们以扩展通用语言的库的形式描述嵌入式DSL。我们的领域是气候变化背景下的脆弱性评估,这在波茨坦气候影响研究所正式进行了描述。使用Haskell对域进行描述,产生可用于实现原型的Haskell特定于域的子语言。在本文中,我们提供了一个通用的C ++库,该库基于正式的Haskell描述实现了用于漏洞评估的特定于域的语言。该库基于并仅实现了少数几个概念,最重要的是,它是单子系统的概念,这是脆弱性评估形式化的关键部分。我们描述了Monadic系统的Haskell描述,并展示了该描述到通用C ++组件的映射。我们的库在很大程度上依赖于概念,这是一种支持通用编程的C ++功能:概念框架构成了我们库的特定于域的类型系统。通过使用概念框架中的函数,参数化类型和概念,我们可以表示域的组合器和算法。此外,我们讨论了什么使我们的库成为领域特定的语言,以及我们的领域特定的库方案如何可用于其他领域(关于语言设计,软件设计和实现技术)。

著录项

  • 来源
    《Domain-specific languages》|2009年|236-261|共26页
  • 会议地点 Oxford(GB);Oxford(GB)
  • 作者单位

    Potsdam Institute for Climate Impact Research, Potsdam, Germany;

    Chalmers University of Technology University of Gothenburg, Gothenburg, Sweden;

    Chalmers University of Technology University of Gothenburg, Gothenburg, Sweden;

    Potsdam Institute for Climate Impact Research, Potsdam, Germany;

  • 会议组织
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 程序语言、算法语言;
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号