unj*_*nj2 57 lisp macros scheme hygiene racket
我对Macros非常感兴趣,刚刚开始了解它的真正力量.请帮我收集宏系统的一些很好的用法.
到目前为止,我有这些结构:
模式匹配:
安德鲁赖特和布鲁斯杜巴.Scheme的模式匹配,1995
Prolog精神的关系:
Dorai Sitaram.在schelog中编程. http://www.ccs.neu.edu/home/dorai/schelog/schelog.html
Daniel P. Friedman,William E. Byrd和Oleg Kiselyov.理性的计划者.麻省理工学院出版社,2005年7月
Matthias Felleisen.将Prolog音译为方案.技术报告182,印第安纳大学,1985年.
可扩展循环结构:
塞巴斯蒂安·埃格纳 方案中的热切理解:SRFI-42的设计."计划与功能规划研讨会",2005年9月第13-26页.
奥林颤抖.循环的解剖:范围和控制的故事.在国际功能规划会议,第2-14页,2005年.
班级系统:
PLT.PLT MzLib:图书馆手册.技术报告PLT-TR2006-4-v352,PLT方案公司,2006年 http://www.plt-scheme.org/techreports/
Eli Barzilay.骗取. http://www.barzilay.org/Swindle.
组件系统:
Ryan Culpepper,Scott Owens和Matthew Flatt.组件接口中的语法抽象.在生成编程和组件工程国际会议,第373-388页,2005年
软件合同检查
Matthew Flatt和Matthias Felleisen.单位:用于HOT语言的酷模块在ACM SIGPLAN会议上编程语言设计和实现,第236-248页,1998年
Oscar Waddell和R. Kent Dybvig.扩展句法抽象的范围.在编程语言原理研讨会上,第203-215页,第199页
解析器生成器
Scott Owens,Matthew Flatt,Olin Shivers和Benjamin McMullan.Scheme中的Lexer和解析器生成器.关于计划和功能规划研讨会,2004年9月第41-52页.
工程语义工具:
Matthias Felleisen,Robert Bruce Findler和Matthew Flatt.PLT Redex的语义工程.MIT出版社,2009年8月.
编译器转换的规范:
Dipanwita Sarkar,Oscar Waddell和R. Kent Dybvig.用于编译器教育的纳米框架.功能规划期刊,15(5):653-667,2005年9月.教育明珠.
新的执行形式
具有可序列化延续的Servlet Greg Pettyjohn,John Clements,Joe Marshall,Shriram Krishnamurthi和Matthias Felleisen.广义堆栈检查的延续.在国际功能规划会议上,第216-227页,2005年.
定理证明系统
塞巴斯蒂安·埃格纳 方案中的热切理解:SRFI-42的设计.在计划与功能规划研讨会上,2005年9月第13-26页.
基类的扩展与类型
Sam Tobin-Hochstadt和Matthias Felleisen.打字方案的设计和实施.在编程语言原理研讨会上,第395-406页,2008年.
怠惰
Eli Barzilay和John Clements.没有辛勤工作的懒惰:将懒惰和严格的语言结合起来进行教学.在教育中的功能和声明性编程中,第9-13页,2005年.
功能反应性
Gregory H. Cooper和Shriram Krishnamurthi.使用按值调用语言嵌入动态数据流.在欧洲规划研讨会上,2006年
参考:
Culpepper&Felleisen,Fortifying Macros,ICFP 2010
Culpepper,Tobin-Hochstadt和Felleisen,Advanced Macrology和Typed Scheme的实施,Scheme Workshop 2007
Flatt,Findler,Felleisen,与类,混合和特征的计划,APLAS 2006
Herman,Meunier,通过部分评估改进嵌入式语言的静态分析,ICFP 2004
Shivers,Carlstrom,Gasbichler&Sperber(1994及以后)The Scsh Reference手册.
有很多很好的例子,可以使用宏将迷你语言嵌入到Scheme中.向我介绍了定义隐式引用其参数的宏的技术.查看流程表单,正则表达式和类似awk的迷你语言的使用.Scsh是我的建议,作为玩宏的起点.
希尔斯代尔和弗里德曼(2000)在延续传递风格中编写宏.
显示如何使用延续传递样式使弱语法规则宏变得强大.给出了大量的例子.
Flatt,Culpepper,Darais和Findler(已提交)共同工作的宏 - 编译时绑定,部分扩展和定义上下文.
提供Racket/PLT Scheme中宏方法的概述和语义.不是很多例子,但我认为这篇论文有你想要的东西.
| 归档时间: |
|
| 查看次数: |
2633 次 |
| 最近记录: |