我对宏非常感兴趣,并且刚刚开始了解它的真正力量。请帮我收集一些宏系统的伟大用法。
到目前为止,我有这些构造:
模式匹配:
安德鲁·赖特和布鲁斯·杜巴。Scheme 的模式匹配,1995
Prolog 精神中的关系:
多莱西塔拉姆。在 schelog 中编程。 http://www.ccs.neu.edu/home/dorai/schelog/schelog.html
Daniel P. Friedman、William E. Byrd 和 Oleg Kiselyov。理性的计划者。麻省理工学院出版社,2005 年 7 月
马蒂亚斯·费莱森。将 Prolog 音译为 Scheme。技术报告 182,印第安纳大学,1985 年。
可扩展循环结构:
塞巴斯蒂安·埃格纳。计划中的渴望理解:SRFI-42 的设计。在 2005 年 9 月的方案和函数式编程研讨会上,第 13-26 页。
奥林瑟瑟发抖。循环的解剖:范围和控制的故事。在函数式编程国际会议上,2005 年第 2-14 页。
班级系统:
血小板。PLT MzLib:库手册。技术报告 PLT-TR2006-4-v352,PLT Scheme Inc.,2006。http: //www.plt-scheme.org/techreports/
伊莱·巴兹莱。骗取。 http://www.barzilay.org/Swindle。
组件系统:
瑞恩·卡尔佩珀、斯科特·欧文斯和马修·弗拉特。组件接口中的语法抽象。在生成式编程和组件工程国际会议上,第 373-388 页,2005
软件合同检查
马修·弗拉特和马蒂亚斯·费莱森。单元:HOT 语言的酷模块在 ACM SIGPLAN 编程语言设计和实现会议中,第 236-248 页,1998
Oscar Waddell 和 R. Kent Dybvig。扩展句法抽象的范围。在编程语言原理研讨会上,第 203-215、199 页
解析器生成器
斯科特·欧文斯、马修·弗拉特、奥林·希弗斯和本杰明·麦克马伦。Scheme 中的词法分析器和解析器生成器。在 2004 年 9 月的方案和函数式编程研讨会上,第 41-52 页。
工程语义工具:
马蒂亚斯·费莱森、罗伯特·布鲁斯·芬德勒和马修·弗拉特。使用 PLT Redex 进行语义工程。麻省理工学院出版社,2009 年 8 月。
编译器转换的规范:
Dipanwita Sarkar、Oscar Waddell 和 R. Kent Dybvig。用于编译器教育的 nanopass 框架。函数式编程杂志,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 年。
懒惰
伊莱·巴兹莱和约翰·克莱门茨。不劳而获的懒惰:结合懒惰和严格的语言进行教学。在教育中的函数式和声明式编程,第 9-13 页,2005 年。
功能反应性
Gregory H. Cooper 和 Shriram Krishnamurthi。在按值调用语言中嵌入动态数据流。在欧洲编程研讨会上,2006
参考: