使用宏收集优秀的应用程序和程序 [英] Collection of Great Applications and Programs using Macros
问题描述
我对Macros非常感兴趣,并且刚刚开始了解它的真正功能.请帮助我收集一些宏系统的用法.
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:
模式匹配:
安德鲁·赖特(Andrew Wright)和布鲁斯·杜巴(Bruce Duba).图案 符合1995年的计划
Andrew Wright and Bruce Duba. Pattern matching for Scheme, 1995
秉承Prolog精神的关系
Dorai Sitaram.在schelog中编程. http://www.ccs.neu.edu/home/dorai/schelog /schelog.html
Dorai Sitaram. Programming in schelog. http://www.ccs.neu.edu/home/dorai/schelog/schelog.html
丹尼尔·弗里德曼(Daniel P. Friedman),威廉·E·伯德(William E.Byrd), 和Oleg Kiselyov.合理的 计划者.麻省理工学院出版社,2005年7月
Daniel P. Friedman, William E. Byrd, and Oleg Kiselyov. The Reasoned Schemer. The MIT Press, July 2005
Matthias Felleisen.音译 进入计划的序幕.技术报告 182,印第安纳大学,1985年.
Matthias Felleisen. Transliterating Prolog into Scheme. Technical Report 182, Indiana University, 1985.
可扩展循环构造:
塞巴斯蒂安·埃格纳(Sebastian Egner).渴望的理解 方案中:SRFI-42的设计.在 计划与功能研讨会 编程,9月13-26页 2005.
Sebastian Egner. Eager comprehensions in Scheme: The design of SRFI-42. In Workshop on Scheme and Functional Programming, pages13–26, September 2005.
奥林颤抖.循环的剖析: 范围和控制的故事.在 国际功能会议 编程,第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.
Class系统:
PLT. PLT MzLib:库手册. 技术报告PLT-TR2006-4-v352, PLT Scheme Inc.,2006年. http://www.plt-scheme.org/techreports/
PLT. PLT MzLib: Libraries manual. Technical Report PLT-TR2006-4-v352, PLT Scheme Inc., 2006. http://www.plt-scheme.org/techreports/
Eli Barzilay.骗取. http://www.barzilay.org/Swindle .
Eli Barzilay. Swindle. http://www.barzilay.org/Swindle.
组件系统:
Ryan Culpepper,Scott Owens和 马修·弗拉特(Matthew Flatt).句法抽象 在组件接口中.在 国际生殖大会 程序设计与组件工程 第373–388页,2005年
Ryan Culpepper, Scott Owens, and Matthew Flatt. Syntactic abstraction in component interfaces. In International Conference on Generative Programming and Component Engineering, pages 373–388, 2005
软件合同检查
马修·弗拉特(Matthew Flatt)和马蒂亚斯·费莱森(Matthias Felleisen). 单位:适用于HOT语言的酷模块 在ACM SIGPLAN会议上 编程语言设计与 实施,1998年第236-248页
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 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
解析器生成器
斯科特·欧文斯(Scott Owens),马修·弗拉特(Matthew Flatt),奥林 颤抖,和本杰明·麦克穆兰. Lexer 和Scheme中的解析器生成器.在 计划与功能研讨会 编程,第41-52页,9月 2004.
Scott Owens, Matthew Flatt, Olin Shivers, and Benjamin McMullan. Lexer and parser generators in Scheme. In Workshop on Scheme and Functional Programming, pages 41–52, September 2004.
工程语义学工具:
Matthias Felleisen,Robert Bruce 芬德勒和马修·弗拉特.语义学 使用PLT Redex进行工程设计.麻省理工学院出版社 2009年8月.
Matthias Felleisen, Robert Bruce Findler, and Matthew Flatt. Semantics Engineering with PLT Redex. MIT Press, August 2009.
编译器转换的规范:
Dipanwita Sarkar,Oscar Waddell和R. Kent Dybvig.纳米通行证 编译器教育框架. 功能杂志 编程,15(5):653–667,9月 2005年.教育珍珠.
Dipanwita Sarkar, Oscar Waddell, and R. Kent Dybvig. A nanopass framework for compiler education. Journal of Functional Programming,15(5):653–667, September 2005. Educational Pearl.
新颖的执行方式
可序列化的Servlet 续集格雷格·佩蒂约翰(John Greg Pettyjohn) 克莱门茨(Clements),乔·马歇尔(Joe Marshall),斯里拉姆(Shriram) 克里希那穆提(Krishnamurthi)和马蒂亚斯·费莱森(Matthias Felleisen). 广义堆栈的延续 检查.在国际上 函数式编程会议, 第216–227页,2005年.
Servlets with serializable continuations Greg Pettyjohn, John Clements, Joe Marshall, Shriram Krishnamurt and Matthias Felleisen. Continuations from generalized stack inspection. In International Conference on Functional Programming, pages216–227, 2005.
定理证明系统
塞巴斯蒂安·埃格纳(Sebastian Egner).对方案的热切理解:设计 SRFI-42. 在方案与功能编程研讨会第13–26页中, 2005年9月.
Sebastian Egner. Eager comprehensions in Scheme: The design of SRFI-42. In Workshop on Scheme and Functional Programming, pages 13–26, September 2005.
基本语言的扩展类型
萨姆·托宾·霍斯塔特和马蒂亚斯 Felleisen.design和 类型化方案的实现.在 编程原理专题讨论会 语言,第395–406页,2008年.
Sam Tobin-Hochstadt and Matthias Felleisen.The design and implementation of typed scheme. In Symposium on Principles of Programming Languages, pages 395–406, 2008.
懒惰
Eli Barzilay和John Clements. 懒惰没有所有的辛苦 作品:懒惰与严谨的结合 教学语言.功能性 和声明式编程 教育,第9-13页,2005年.
Eli Barzilay and John Clements. Laziness without all the hard work:combining lazy and strict languages for teaching. In Functional and declarative programming in education, pages 9–13, 2005.
功能性反应
Gregory H. Cooper和Shriram 克里希那穆提.嵌入动态 值调用语言中的数据流. 在欧洲编程研讨会上, 2006
Gregory H. Cooper and Shriram Krishnamurthi. Embedding dynamic dataflow in a call-by-value language. In European Symposium on Programming, 2006
参考:
推荐答案
Culpepper&费莱森,《强化宏》,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,具有类,混合素和特质的方案,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
这篇关于使用宏收集优秀的应用程序和程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!