使用宏收集优秀的应用程序和程序 [英] Collection of Great Applications and Programs using Macros

查看:142
本文介绍了使用宏收集优秀的应用程序和程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆