首页> 外文期刊>ACM Queue: Architecting Tomorrow s Computing >High-level DSLs for low-level programming
【24h】

High-level DSLs for low-level programming

机译:用于低级编程的高级DSL

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

摘要

Bo Joel Svensson, Indiana University Mary Sheeran, Chalmers University of Technology Ryan Newton, Indiana University DSLs (domain-specific languages) make programs shorter and easier to write. They can be stand-alone—for example, LaTeX, Makefiles, and SQL—or they can be embedded in a host language. You might think that DSLs embedded in high-level languages would be abstract or mathematically oriented, far from the nitty-gritty of low-level programming. This is not the case. This article demonstrates how high-level EDSLs (embedded DSLs) really can ease low-level programming. There is no contradiction. A gentle introduction to EDSLs can be found in the previous article in this series: "Domain-specific Languages and Code Synthesis Using Haskell," in which Andy Gill considers the pros and cons of implementing a deeply embedded DSL, compared with a stand-alone compiler. Here, the story continues, posing a slightly different question: If you need to produce high-performance, low-level code in a language such as C or CUDA, is it worthwhile to use (or create) a code-generating EDSL, or should you just buckle down and write the low-level code by hand? Our answer is that the EDSL may well be a reasonable option.
机译:印第安纳大学的Bo Joel Svensson,查尔默斯理工大学的Mary Sheeran,印第安纳大学的Ryan Newton,DSL(特定领域语言)使程序更短,更容易编写。它们可以是独立的(例如LaTeX,Makefile和SQL),也可以嵌入宿主语言中。您可能会认为,嵌入在高级语言中的DSL将是抽象的或面向数学的,而不是底层编程的本质。不是这种情况。本文演示了高级EDSL(嵌入式DSL)如何真正减轻底层编程的负担。没有矛盾。在本系列的上一篇文章中可以找到对EDSL的简要介绍:“使用Haskell的特定于域的语言和代码合成”,其中Andy Gill考虑了实现深度嵌入式DSL与独立实现相比的优缺点。编译器。在这里,故事继续着,提出了一个稍微不同的问题:如果您需要使用C或CUDA这样的语言来生成高性能,低级代码,是否值得使用(或创建)代码生成的EDSL,或者您应该束手无策并手工编写低级代码吗?我们的回答是,EDSL可能是一个合理的选择。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号