跳到主要内容
文章

反洗钱:一种面向方面的多态函数式编程语言

出版:2005年9月12日出版历史
跳过抽象节

摘要

本文定义了Poly反洗钱,一种类型化的函数式、面向方面的编程语言。Poly<SMALL>AML</SMALL>的主要贡献是多态性、运行时类型分析和面向方面的编程语言功能的无缝集成。特别是,Poly<SMALL>AML</SMALL>允许程序员使用从多态连接点集合构造的切入点来定义类型安全的多态建议。Poly<SMALL>AML</SMALL>还配备了一种类型推理算法,该算法保守地扩展了Hindley-Milner类型推理。为了支持一流的多态切入点指示符,这是开发面向方面的分析或日志库的关键功能,该算法将传统的Hindley-Milner类型推理算法与简单形式的局部类型推理相结合。我们通过类型导向的翻译将我们的语言赋予操作意义,使其成为一种表达性的类型安全的中间语言。这种翻译消除了源语言的许多复杂性,从而实现了其语义的模块化规范。中间语言的一个新颖之处是定义了用于标记控制流点的多态标签。这些标签以树结构组织,这样树中的父级就可以代表其所有子级。类型安全要求每个子类型的多态性低于其父类型。类似地,当一组标签被组装为切入点时,每个标签的类型都是切入点类型的实例。

工具书类

  1. J.奥尔德里奇。开放模块:面向方面编程中模块推理的建议。2004年3月,在面向方面语言基础研讨会上。谷歌学者谷歌学者
  2. J.奥尔德里奇。开放模块:协调扩展性和信息隐藏。2004年3月,《方面技术语言的软件工程特性学报》。谷歌学者谷歌学者
  3. L.Bauer、J.Ligatti和D.Walker。在聚合物中编写安全策略。在2005年6月举行的ACM SIGPLAN编程语言设计与实现会议上。出现。谷歌学者谷歌学者数字图书馆数字图书馆
  4. G.Bruns、R.Jagadeesan、A.S.A.Jeffrey和J.Riely。muABC:最小方面演算。在Concur,第209-224页,2004年4月。谷歌学者谷歌学者
  5. C.Clifton和G.T.Leavens。助理和观察员:模块化面向方面推理的建议。2002年4月,《方面语言基础》。谷歌学者谷歌学者
  6. T.Colcombet和P.Fradet。通过程序转换强制执行跟踪属性。在第二十七届美国计算机学会编程语言原理研讨会上,第54-66页,波士顿,2000年1月。ACM出版社。谷歌学者谷歌学者数字图书馆数字图书馆
  7. A.Colyer和A.Clement。用于中间件的大规模AOSD。《第三届面向方面软件开发国际会议论文集》,第56-65页。ACM出版社,2004年。谷歌学者谷歌学者数字图书馆数字图书馆
  8. L.Damas和R.Milner。功能程序的主要类型方案。在美国计算机学会编程语言原理研讨会上,第207-212页,新墨西哥州阿尔伯克基,1982年。谷歌学者谷歌学者数字图书馆数字图书馆
  9. D.S.Dantas和D.Walker。方面、信息隐藏和模块化。技术报告TR-696-04,普林斯顿大学,2003年11月。谷歌学者谷歌学者
  10. D.S.Dantas和D.Walker。无害的建议。2005年1月,在面向对象语言基础研讨会上。谷歌学者谷歌学者
  11. D.S.Dantas、D.Walker、G.Washburn和S.Weirich。多边形&lt;小&gt;反洗钱/小&gt;:一种面向方面的多态函数编程语言(扩展版)。技术报告MS-CIS-05-07,宾夕法尼亚大学,2005年5月。谷歌学者谷歌学者
  12. R.Douence、O.Motelet和M.Südholt。横切的正式定义。在第三届元层次结构和交叉关注点分离国际会议上,计算机科学讲义第2192卷,第170-186页,柏林,2001年9月。斯普林格·弗拉格。谷歌学者谷歌学者数字图书馆数字图书馆
  13. R.Douence、O.Motelet和M.Südholt。有状态方面的组合、重用和交互分析。在2004年3月举行的面向方面软件开发会议上,第141-150页。谷歌学者谷歌学者数字图书馆数字图书馆
  14. 远远的。Erlingsson和F.B.Schneider。SASI安全政策的实施:回顾。《新安全范式研讨会论文集》,第87-95页,加拿大喀里登山,1999年9月。谷歌学者谷歌学者数字图书馆数字图书馆
  15. 远远的。Erlingsson和F.B.Schneider。Java堆栈检查的IRM实施。2000年5月,加利福尼亚州奥克兰,IEEE安全与隐私研讨会,第246至255页。谷歌学者谷歌学者数字图书馆数字图书馆
  16. D.Evans和A.Twyman。灵活的策略导向代码安全。在IEEE安全与隐私,加利福尼亚州奥克兰,1999年5月。谷歌学者谷歌学者交叉引用交叉引用
  17. R·E·菲尔曼和D·P·弗里德曼。面向方面的软件开发,面向方面的编程是量化和遗忘。Addison-Wesley,2005年。谷歌学者谷歌学者
  18. M.Fiuczynski、Y.Cody、R.Grimm和D.Walker。补丁(1)被认为是有害的。在HotOS中,2005年7月。出现。谷歌学者谷歌学者数字图书馆数字图书馆
  19. R.Jagadeesan、A.Jeffrey和J.Riely。面向类型的程序的微积分。未发表的手稿。,2003谷歌学者谷歌学者
  20. R.Jagadeesan、A.Jeffrey和J.Riely。非类型面向对象程序的微积分。在2003年7月于德国达姆施塔特举行的欧洲面向对象编程会议上。谷歌学者谷歌学者
  21. G.Kiczales、E.Hilsdale、J.Hugunin、M.Kersten、J.Palm和W.Griswold。AspectJ概述。在欧洲面向对象编程会议上。斯普林格-Verlag,2001年。谷歌学者谷歌学者数字图书馆数字图书馆
  22. M.Kim、M.Viswanathan、H.Ben-Abdallah、S.Kannan、I.Lee和O.Sokolsky。正式规定的时间特性监测。1999年6月在英国约克举行的欧洲实时系统会议上。谷歌学者谷歌学者
  23. I.Lee、S.Kannan、M.Kim、O.Sokolsky和M.Viswanathan。基于正式规范的运行时保证。在并行和分布式处理技术及应用国际会议上,拉斯维加斯,1999年6月。谷歌学者谷歌学者
  24. X.勒罗伊。目标凸轮系统:文档和用户手册,2000年。与达米安·多利盖兹、雅克·加里格、迪迪埃·雷米和杰罗姆·沃伊隆合作。可从以下位置获得http://caml.inia.fr。谷歌学者谷歌学者
  25. K.J.Lieberherr、D.Lorenz和J.Ovlinger。方面合作——结合模块和方面。《计算机杂志》,46(5):542--5652003年9月。谷歌学者谷歌学者交叉引用交叉引用
  26. H.Masuhara、G.Kiczales和C.Dutchyn。面向方面程序的编译语义。G.T.Leavens和R.Cytron,编辑,面向方面语言基础研讨会,第17-25页,2002年4月。谷歌学者谷歌学者
  27. D.米勒。混合前缀下的统一。符号计算杂志,14(4):321-3581992。谷歌学者谷歌学者数字图书馆数字图书馆
  28. R.Milner。编程中的类型多态理论。《计算机与系统科学杂志》,17(3),1978年。谷歌学者谷歌学者交叉引用交叉引用
  29. R.Milner、M.Tofte、R.Harper和D.MacQueen。标准ML的定义(修订版)。麻省理工学院出版社,1997年。谷歌学者谷歌学者数字图书馆数字图书馆
  30. S.Peyton Jones、D.Vytiniotis、S.Weirich和M.Shields。任意秩类型的实用类型推理。提交给《功能编程杂志》,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  31. S.Peyton Jones、G.Washburn和S.Weirich。摇摆类型:泛化代数数据类型的实用类型推理。可在http://www.cis.upenn.edu/_geoffw/research/2004年7月。谷歌学者谷歌学者
  32. B.C.Pierce和D.N.Turner。局部类型推断。《POPL 98会议记录:第25届ACM SIGPLAN-SIGACT编程语言原理研讨会》,第252-265页,加利福尼亚州圣地亚哥,1998年。谷歌学者谷歌学者数字图书馆数字图书馆
  33. M.Shields和S.Peyton Jones。词汇范围的类型变量。微软研究。可在http://research.microsoft.com/Users/simonpj/papers/scoped-tyvars, 2002.谷歌学者谷歌学者
  34. V.Simonet和F.Pottier。保护代数数据类型的基于约束的类型推断。技术报告研究报告5462,INRIA,2005年1月。谷歌学者谷歌学者
  35. P.J.Stuckey和M.Sulzmann。保护递归数据类型的类型推断。2005年2月提交出版。谷歌学者谷歌学者
  36. H.Tatsuzawa、H.Masuhara和A.Yonezawa。方面Caml:一种面向方面的函数语言。2005年3月,《面向方面语言基础研讨会》,第39-50页。谷歌学者谷歌学者数字图书馆数字图书馆
  37. D.B.Tucker和S.Krishnamurthi。高阶语言中的切入点和建议。2003年第二届面向方面软件开发国际会议论文集,第158-167页。谷歌学者谷歌学者数字图书馆数字图书馆
  38. D.Vytiniotis、S.Weirich和S.Peyton Jones。针对较高银行类型和无效性的Boxy类型推断。可在http://www.cis.upenn.edu_dimitriv/boxy/2005年4月。谷歌学者谷歌学者
  39. D.Walker、S.Zdancewic和J.Ligatti。相位理论。2003年8月在瑞典乌普萨拉举行的ACM函数式编程国际会议上。谷歌学者谷歌学者数字图书馆数字图书馆
  40. M.Wand、G.Kiczales和C.Dutchyn。面向方面编程中通知和动态连接点的语义。托普拉斯,2003年。谷歌学者谷歌学者数字图书馆数字图书馆
  41. G.Washburn和S.Weirich。使用信息流泛化参数。在2005年6月于伊利诺伊州芝加哥举行的第20届IEEE计算机科学逻辑年会(LICS 2005)上。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. 反洗钱:一种多态的面向方面的函数式编程语言

                    建议

                    评论

                    登录选项

                    请检查您是否可以通过登录凭据或您的机构访问此文章以获得完全访问权限。

                    登录

                    完全访问权限

                    • 发布于

                      封面图片ACM SIGPLAN注意事项
                      ACM SIGPLAN通知 第40卷第9期
                      第十届ACM SIGPLAN功能编程国际会议记录
                      2005年9月
                      330页
                      国际标准编号:0362-1340年
                      EISSN公司:1558-1160
                      内政部:10.1145/1090189
                      期刊目录
                      • 封面图片ACM会议
                        ICFP’05:第十届ACM SIGPLAN功能编程国际会议记录
                        2005年9月
                        342页
                        十亿英镑:1595930647
                        内政部:10.1145/1086365

                      版权所有©2005 ACM

                      如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。向请求权限[电子邮件保护]

                      出版商

                      计算机协会

                      美国纽约州纽约市

                      出版历史

                      • 出版:2005年9月12日

                      检查更新

                      限定符

                      • 文章

                    PDF格式

                    以PDF文件查看或下载。

                    PDF格式

                    电子阅读器

                    使用eReader联机查看。

                    电子阅读器