跳到主要内容
10.1145/3136040.3136048acm会议文章/章节视图摘要出版物页面通用电气公司会议记录会议集合
研究论文

使用GHC编译器扩展重写浅层DSL

出版:2017年10月23日 出版历史
  • 获取引文提醒
  • 摘要

    嵌入式领域特定语言是开发定制语言以适应特定问题领域的强大工具。浅EDSL允许程序员使用宿主语言及其语法的许多功能进行编程,但会牺牲性能。深层EDSL通过操作DSL程序的抽象语法树提供了更好的性能和灵活性,但牺牲了与宿主语言的语法相似性。使用Haskino,一种为基于Arduino系列微控制器的小型嵌入式系统设计的EDSL,以及Haskell GHC编译器的编译器插件,我们展示了一种将浅EDSL和深EDSL的最佳方面相结合的方法。程序员能够在浅EDSL中写入,并将其自动转换为深EDSL。这使得EDSL用户可以从宿主语言Haskell的强大功能中获益,同时满足小型嵌入式处理环境的资源约束要求。

    工具书类

    [1]
    埃米尔·阿克塞尔森(Emil Axelsson)、科恩·克莱森(Koen Claessen)、格格利·德瓦伊(Gergely Dévai)、佐尔坦·霍瓦思(Zoltán Horváth)、卡琳·凯伊泽(Karin Keijzer)、博·莱克格德(Bo Lyckegárd)、安德斯·佩尔森(Anders Persson)、玛丽·希。2010年Feldspar:数字信号处理算法的领域特定语言。在MEMOCODE’10中。169–178.
    [2]
    埃米尔·阿克塞尔森、科恩·克莱森、玛丽·希兰、约瑟夫·斯文宁森、大卫·恩格达尔和安德斯·佩尔森。2011年Feldspar的设计和实施。函数语言的实现和应用。施普林格,121–136。
    [3]
    Kevin J.Brown、Arvind K.Sujeeth、Hyouk Joong Lee、Tiark Rompf、Hassan Chafi、Martin Odersky和Kunle Olukotun。2011.领域特定语言的异构并行框架。《2011年并行体系结构和编译技术国际会议论文集》(PACT'11)。IEEE计算机学会,美国华盛顿特区,89-100。
    [4]
    科纳尔·埃利奥特。2015. (2015). https://github.com/conal/lambda-ccc
    [5]
    科纳尔·埃利奥特。2015. (2015). https://github.com/conal/talk-2015-haskell到硬件
    [6]
    科纳尔·埃利奥特。2016. (2016). https://github.com/conal/reification-rules
    [7]
    科纳尔·埃利奥特。2017.分类编译。程序。ACM计划。ICFP,第48条(2017年9月),第1章,24页。
    [8]
    特雷弗·埃利奥特(Trevor Elliott)、李·派克(Lee Pike)、西蒙·温伍德(Simon Winwood)、帕特·希基(Pat Hickey)、詹姆斯·贝尔曼(James Bielman)、杰米·夏普(Jamey Sharp)、埃里克·塞德尔(Eric Seidel)。2015年,无愧于象牙。第八届ACM SIGPLAN Haskell研讨会会议记录。美国医学会,189-200年。
    [9]
    勒文特·埃尔科克。2014.黑客软件包hArduino-0.9。(2014).
    [10]
    安德鲁·法默(Andrew Farmer)、尼尔·斯卡索普(Neil Sculthorpe)和安迪·吉尔(Andy Gill)。2015.HERMIT推理:对GHC核心程序的等式推理的工具支持。第八届ACM SIGPLAN Haskell研讨会会议记录。ACM,23–34岁。
    [11]
    GHC团队。2016.Glasgow Haskell编译器用户指南,8.0.1版。https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/
    [12]
    安迪·吉尔(Andy Gill)、特里斯坦·布尔(Tristan Bull)、安德鲁·法默(Andrew Farmer)、加林·金梅尔(Garrin Kimmell)和埃德·康普(Ed Komp)。2013.硬件模拟和合成的类型和相关类型系列:堪萨斯熔岩的内部和外部。《高阶和符号计算》(2013),1–20。
    [13]
    A Gill和G Hutton。2009.工人/包装器转换。函数编程杂志(2009)。
    [14]
    安迪·吉尔和瑞安·斯科特。2015. (2015). https://github.com/ku-fpg/空白帆布
    [15]
    安迪·吉尔、尼尔·斯卡索普、贾斯汀·道森、亚历山大·埃斯基尔森、安德鲁·法默、马克·格雷贝、杰弗里·罗森布鲁斯、瑞安·斯科特和詹姆斯·斯坦顿。2015年,远程单声道设计模式。第八届ACM SIGPLAN Haskell研讨会会议记录。ACM,59–70。
    [16]
    马克·格雷布(Mark Grebe)。2017. (2017). https://github.com/ku-fpg/haskino
    [17]
    马克·格雷布和安迪·吉尔。2016年,Haskino:为Arduino编程的远程Monad。在声明语言的实际方面。斯普林格,153-168。
    [18]
    马克·格雷布和安迪·吉尔。2017.与Haskell一起穿上Arduino。《函数式编程趋势后刊》。
    [19]
    C.A.霍尔。1972.数据表示正确性证明。信息学报1,4(1972年12月),271–281。
    [20]
    SLP Jones和J Launchbury。1991年。以非限定功能语言表达的一等公民的无框价值观。函数编程会议(1991年)。
    [21]
    西蒙·佩顿·琼斯(Simon Peyton Jones)、安德鲁·托尔马赫(Andrew Tolmach)和托尼·霍尔(Tony Hoare)。2001.按规则行事:重写是GHC中的一种实用优化技术。在Haskell车间1。203–233.
    [22]
    Vojin Jovanovic、Amir Shaikhha、Sandro Stucki、Vladimir Nikolaev、Christoph Koch和Martin Odersky。2014.阴阳:掩盖DSL的深度嵌入。《2014年生成性编程国际会议论文集:概念和经验》(GPCE 2014)。ACM,美国纽约州纽约市,73-82。
    [23]
    西蒙·马洛、路易斯·白兰地、乔纳森·科恩斯和乔恩·珀迪。2014.没有分叉:高效、并发和简洁数据访问的抽象。在函数编程国际会议上。美国医学会,325–337。
    [24]
    西蒙·佩顿·琼斯和安德烈·桑托斯。1998年,Haskell基于转换的优化程序。《计算机程序设计科学》32,1-3(1998),3-47。
    [25]
    蒂亚克·隆普夫(Tiark Rompf)和马丁·奥德斯基(Martin Odersky)。2010.轻量级模块化暂存:运行时代码生成和编译DSL的实用方法。第九届生成程序设计和组件工程国际会议论文集(GPCE’10)。美国纽约州纽约市ACM,127–136。
    [26]
    Maximilian Scherr和Shigeru Chiba。2014.EDSL表达的隐含阶段:浅埋和深埋之间的桥梁。2014年第28届欧洲经济合作组织会议记录-面向对象编程-第8586卷。Springer-Verlag纽约公司,美国纽约州纽约市,385-410。
    [27]
    Arvind K.Sujeeth、Austin Gibbons、Kevin J.Brown、HyoukJoong Lee、Tiark Rompf、Martin Odersky和Kunle Olukotun。2013.锻造:从声明性规范生成高性能DSL实现。第十二届生成性编程国际会议论文集:概念与#38; 经验(GPCE’13)。美国纽约州纽约市ACM,145-154。
    [28]
    约瑟夫·斯文宁森和埃米尔·阿克塞尔森。2013.EDSL的深埋和浅埋相结合。在功能编程趋势中。施普林格,21–36岁。

    引用人

    查看全部
    • (2021)在基于Haskell的深度嵌入领域特定语言中添加模式匹配声明语言的实用方面10.1007/978-3-030-67438-0_2(20-36)在线发布日期:2021年1月13日

    建议

    评论

    信息和贡献者

    问询处

    发布于

    封面图片ACM会议
    GPCE 2017:第16届ACM SIGPLAN生成性编程国际会议记录:概念和经验
    2017年10月
    258页
    国际标准图书编号:9781450355247
    内政部:10.1145/3136040
    • 封面图片ACM SIGPLAN注意事项
      ACM SIGPLAN通知 第52卷第12期
      GPCE’17
      2017年12月
      258页
      国际标准编号:0362-1340
      EISSN公司:1558-1160
      内政部:10.1145/3170492
      期刊目录
    如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

    发起人

    合作中

    出版商

    计算机协会

    美国纽约州纽约市

    出版历史

    出版:2017年10月23日

    权限

    请求对此文章的权限。

    检查更新

    作者标记

    1. 阿尔杜伊诺
    2. EDSL公司
    3. GHC公司
    4. 哈斯克尔
    5. 转换

    限定符

    • 研究文章

    会议

    2017年飞溅
    SPLASH’17:系统、程序设计、语言和应用会议:人类软件
    2017年10月23日至24日
    不列颠哥伦比亚省,加拿大温哥华

    接受率

    总体接受率180份提交文件中的56份,31%

    即将召开的会议

    GPCE’24
    第23届ACM SIGPLAN生成性编程国际会议:概念和经验
    2024年10月21日至22日
    帕萨迪纳,加利福尼亚州,美国

    贡献者

    其他指标

    文献计量学和引文

    文献计量学

    文章指标

    • 下载次数(过去12个月)7
    • 下载次数(最近6周)0

    其他指标

    引文

    引用人

    查看全部
    • (2021)在基于Haskell的深度嵌入领域特定语言中添加模式匹配声明语言的实用方面10.1007/978-3-030-67438-0_2(20-36)在线发布日期:2021年1月13日

    视图选项

    获取访问权限

    登录选项

    完全访问权限

    查看选项

    PDF格式

    以PDF文件的形式查看或下载。

    PDF格式

    电子阅读器

    使用联机查看电子阅读器.

    电子阅读器

    媒体

    数字

    其他

    桌子

    分享

    分享

    共享此出版物链接

    在社交媒体上分享