问题描述
我对宏非常感兴趣,并且刚刚开始了解它的真正力量.请帮我收集一些宏系统的伟大用法.
I am very very interested in Macros and just beginning to understand its true power. Please help me collect some great usage of macro systems.
到目前为止,我有这些构造:
So far I have these constructs:
模式匹配:
安德鲁·赖特和布鲁斯·杜巴.图案匹配方案,1995
Prolog 精神中的关系:
多莱西塔拉姆.在 schelog 中编程.http://www.ccs.neu.edu/home/dorai/schelog/schelog.html
丹尼尔·P·弗里德曼、威廉·E·伯德、和奥列格·基谢廖夫.理性的计划者.麻省理工学院出版社,2005 年 7 月
Daniel P. Friedman, William E. Byrd, and Oleg Kiselyov. The Reasoned Schemer. The MIT Press, July 2005
马蒂亚斯·费莱森.音译Prolog 进入 Scheme.技术报告182,印第安纳大学,1985 年.
Matthias Felleisen. Transliterating Prolog into Scheme. Technical Report 182, Indiana University, 1985.
可扩展循环结构:
塞巴斯蒂安·埃格纳.急切的理解方案:SRFI-42的设计.在方案和功能研讨会编程,第 13-26 页,9 月2005.
奥林颤抖着.循环的解剖:a范围和控制的故事.在国际功能会议编程,第 2-14 页,2005 年.
Olin Shivers. The anatomy of a loop: a story of scope and control. In International Conference on Functional Programming, pages 2–14, 2005.
班级系统:
PLT.PLT MzLib:库手册.技术报告PLT-TR2006-4-v352,PLT 计划公司,2006 年.http://www.plt-scheme.org/techreports/
伊莱·巴兹莱.骗取.http://www.barzilay.org/Swindle.
Eli Barzilay. Swindle. http://www.barzilay.org/Swindle.
组件系统:
瑞恩·卡尔佩珀、斯科特·欧文斯和马修·弗拉特.句法抽象在组件接口中.在国际生成会议编程和组件工程,第 373–388 页,2005 年
软件合同检查
马修·弗拉特和马蒂亚斯·费莱森.单元:HOT 语言的酷模块在 ACM SIGPLAN 会议上编程语言设计和实施,第 236-248 页,1998 年
Oscar Waddell 和 R. Kent Dybvig.扩展句法范围抽象.在原则研讨会上编程语言,页面203–215, 199
Oscar Waddell and R. Kent Dybvig. Extending the scope of syntactic abstraction.In Symposium on Principles of Programming Languages, pages 203–215, 199
解析器生成器
斯科特·欧文斯、马修·弗拉特、奥林颤抖和本杰明麦克马伦.词法分析器和 Scheme 中的解析器生成器.在方案和功能研讨会编程,第 41-52 页,9 月2004.
工程语义工具:
马蒂亚斯·费莱森,罗伯特·布鲁斯芬德勒和马修·弗拉特.语义使用 PLT Redex 进行工程设计.麻省理工学院出版社,2009 年 8 月.
编译器转换规范:
Dipanwita Sarkar、Oscar Waddell 和 R. Kent Dybvig.纳米通道编译器教育框架.功能杂志编程,15(5):653–667,九月2005. 教育明珠.
新颖的执行方式
可序列化的 Servlet继续 Greg Pettyjohn, John克莱门茨、乔·马歇尔、施莱拉姆克里希那穆提和马提亚斯费莱森.广义堆栈的延续检查.在国际函数式编程会议,第 216-227 页,2005 年.
定理证明系统
塞巴斯蒂安·埃格纳.Scheme中的急切理解:设计SRFI-42.在方案和函数式编程研讨会中,第 13-26 页,2005 年 9 月.
带有类型的基础语言扩展
Sam Tobin-Hochstadt 和 MatthiasFelleisen.The 设计和类型化方案的实现.在编程原理研讨会语言,第 395–406 页,2008 年.
懒惰
伊莱·巴兹莱和约翰·克莱门茨.不劳而获的懒惰工作:懒惰与严格相结合教学语言.在功能和声明式编程教育,第 9-13 页,2005 年.
功能反应性
Gregory H. Cooper 和 Shriram克里希那穆提.嵌入动态值调用语言中的数据流.在欧洲编程研讨会上,2006
参考:
推荐答案
Culpepper &Felleisen,强化宏,ICFP 2010
Culpepper & Felleisen, Fortifying Macros, ICFP 2010
Culpepper、Tobin-Hochstadt 和 Felleisen,高级宏观和类型化方案的实施,2007 年方案研讨会
Culpepper, Tobin-Hochstadt and Felleisen, Advanced Macrology and the Implementation of Typed Scheme, Scheme Workshop 2007
Flatt, Findler, Felleisen, Scheme with Classes, Mixins, and Traits, APLAS 2006
Flatt, Findler, Felleisen, Scheme with Classes, Mixins, and Traits, APLAS 2006
Herman, Meunier,通过部分评估改进嵌入式语言的静态分析,ICFP 2004
Herman, Meunier, Improving the Static Analysis of Embedded Languages via Partial Evaluation, ICFP 2004
这篇关于使用宏的伟大应用程序和程序的集合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!