跳到主要内容
10.1145/1190216.1190220acm会议文章/章节视图摘要出版物页面波普尔会议记录会议集合
第条

多语言程序的操作语义

出版:2007年1月17日出版历史

摘要

正如微软的成功一样,语言间互操作性是一项大生意。NET和COM以及Sun的JVM显示。编程语言设计者正在设计反映这一事实的编程语言——仅举几个例子,SML#、Mondrian和Scala都将与其他语言的互操作性视为中心设计特性。然而,当前的多语言研究往往不关注互操作特性的语义,而只关注如何高效地实现它们。在本文中,我们向互操作系统的高级模型迈出了第一步。我们的技术抽象出了互操作性的底层细节,如垃圾收集和表示一致性,并让我们专注于类型安全和可观察等价性等语义属性。除了给出简单的表达模型,这些模型是单一语言模型的自然组成部分之外,我们的研究还揭示了一些关于互操作性的有趣事实。例如,高阶契约自然会作为胶水出现,以确保互操作语言尊重彼此的类型系统。虽然我们在抽象环境中展示了我们的结果,但它们揭示了真实的多语言系统和工具,如JNI、SWIG和Haskell的稳定指针。

参考文献

  1. M.Abadi、L.Cardelli、B.Pierce和G.Plotkin。静态类型语言中的动态类型。《美国计算机学会编程语言与系统汇刊》,13(2):237--2681991年4月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  2. E.Barzilay和J.Clements。懒惰而不努力。2005年教育中的函数式和声明式编程研讨会(FDPE)。]]谷歌学者谷歌学者数字图书馆数字图书馆
  3. E.Barzilay和D.Orlovsky。PLT方案的外部接口。2004年方案和函数编程研讨会。]]谷歌学者谷歌学者
  4. D.比兹利。指针、约束和类型映射。在SWIG 1.1用户手册中。在线可用:http://www.swig.org/Doc1.1/HTML/Typemaps.HTML。]]谷歌学者谷歌学者
  5. D.比兹利。SWIG:一个易于使用的工具,用于将脚本语言与C和C++集成。第四届Tcl/Tk研讨会,第129-139页,1996年。在线可用:http://www.swig.org/papers/Tcl96/Tcl96.html。]]谷歌学者谷歌学者
  6. N.本顿。嵌入式口译员。函数编程杂志,15:503--5422005年7月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  7. N·本顿和A·肯尼迪。没有眼泪的中介语工作:SML与Java的融合。在ACM SIGPLAN国际函数编程会议(ICFP)上,第126-137页,1999年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  8. N.Benton、A.Kennedy和C.V.Russo。互操作性冒险:SML.NET体验。《第六届国际ACM SIGPLAN声明性编程原则与实践会议(PPDP)会议记录》,第215-226页,2004年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  9. M.布鲁姆。非外来语言:教ML编译器“本机”使用C语言。多语言基础设施和互操作性研讨会(BABEL),2001年。]]谷歌学者谷歌学者
  10. L.Cardelli。琥珀色。在G.Cousineau、P.-L.Curien和B.Robinet,《组合器和函数编程语言》编辑,第242卷。施普林格·弗拉格,1986年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  11. M.M.T.查克拉瓦蒂。C类HASKELL或其他接口工具。在1999年功能语言实施国际研讨会上。]]谷歌学者谷歌学者数字图书馆数字图书馆
  12. M.M.T.查克拉瓦蒂。Haskell 98外部函数接口1.0,2002年。在线可用:http://www.cse.unsw.edu.au/~chak/haskell/ffi/.]]谷歌学者谷歌学者
  13. C.钱伯斯和塞西尔集团。Cecil语言:规范和基本原理,3.2版。技术报告,华盛顿大学计算机科学与工程系,2004年2月。在线可用:http://www.cs.washington.edu/research/projects/cecil/pubs/cecil-spect.html。]]谷歌学者谷歌学者
  14. M.Felleisen先生。关于编程语言的表达能力。《计算机程序设计科学》,17:35--751991年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  15. M.Felleisen和R.Hieb。关于顺序控制和状态句法理论的修订报告。理论计算机科学,102:235--2711992。原始版本:技术报告89-100,莱斯大学,1989年6月。]]谷歌学者谷歌学者
  16. R.B.Findler和M.Blume。以投影对的形式收缩。在2006年功能和逻辑编程(FLOPS)国际研讨会上。]]谷歌学者谷歌学者数字图书馆数字图书馆
  17. R.B.Findler和M.Felleisen。高阶函数的合同。在2002年ACM SIGPLAN国际函数编程会议(ICFP)上。]]谷歌学者谷歌学者数字图书馆数字图书馆
  18. S.Finne、D.Leijen、E.Meijer和S.Peyton Jones。从天堂呼唤地狱,从地狱呼唤天堂。在ACM SIGPLAN国际函数编程会议(ICFP)上,第114-125页,1999年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  19. K.Fisher、R.Pucella和J.Reppy。互操作性框架。多语言基础设施和互操作性研讨会(BABEL),2001年。]]谷歌学者谷歌学者交叉引用交叉引用
  20. C.弗拉纳根。混合型检查。在2006年ACM SIGPLAN-SIGACT编程语言原理研讨会上。]]谷歌学者谷歌学者数字图书馆数字图书馆
  21. M.Furr和J.S.Foster。检查外部函数调用的类型安全。在2005年ACM SIGPLAN编程语言设计与实现(PLDI)会议上,第62-72页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  22. A.D.Gordon和D.Syme。键入多语言中间代码。在ACM SIGPLAN-SIGACT编程语言原理研讨会(POPL)上,第248-260页,2001年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  23. K.E.Gray、R.B.Findler和M.Flatt。通过镜像和契约实现细粒度互操作性。在2005年面向对象编程会议:系统、语言和应用(OOPSLA)上。]]谷歌学者谷歌学者数字图书馆数字图书馆
  24. F.Henglein。动态键入:语法和证明理论。计算机程序设计科学,22(3):197-2301994谷歌学者谷歌学者数字图书馆数字图书馆
  25. F.Henglein和J.Rehof。动态类型语言的安全多态类型推断:将Scheme转换为ML。函数式编程语言和计算机体系结构会议论文集,1995年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  26. R.Ibrahim和C.Szyperski。COMEL语言。技术报告FIT-TR-97-06,昆士兰理工大学信息技术学院,澳大利亚布里斯班,1997年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  27. 杰顿。http://www.jython.org/。]]谷歌学者谷歌学者
  28. A.肯尼迪。固定。NET编程模型。理论计算机科学,即将出现。http://research.microsoft.com/~aken/秒/.]]谷歌学者谷歌学者数字图书馆数字图书馆
  29. L.Kornstedt。Alice in the land of Oz——基于互操作性的函数语言在关系语言之上的实现。多语言基础设施和互操作性研讨会(BABEL),2001年。]]谷歌学者谷歌学者交叉引用交叉引用
  30. J.Matthews和R.B.Findler。R5RS方案的操作语义。在2005年的方案和功能规划研讨会上。]]谷歌学者谷歌学者
  31. J.Matthews、R.B.Findler、M.Flatt和M.Felleisen。用于开发上下文敏感的术语重写系统的可视化环境。2004年国际重写技术与应用会议(RTA)论文集。]]谷歌学者谷歌学者交叉引用交叉引用
  32. E.Meijer、N.Perry和A.van Yzendooron。编写脚本。NET使用Mondrian。在欧洲面向对象编程会议(ECOOP)上,第150-164页,英国伦敦,2001年。施普林格-弗拉格。]]谷歌学者谷歌学者数字图书馆数字图书馆
  33. P.Meunier和D.Silva。从Python到PLT方案。《方案与函数编程第四次研讨会论文集》,第24-29页,2003年。]]谷歌学者谷歌学者
  34. M.Odersky、P.Altherr、V.Cremet、B.Emir、S.Micheloud、N.Mihaylov、M.Schinz、E.Stenman和M.Zenger。Scala简介。http://scala.epfl.ch/docu/files/ScalaIntro.pdf, 2005.]]谷歌学者谷歌学者
  35. A.Ohori和K.Kato。多态语言中通信原语的语义。在ACM SIGPLAN-SIGACT编程语言原理研讨会(POPL)上,第99-112页,1993年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  36. P.平托。点模式:PLT模式FFI。NET框架。2003年11月,在方案和函数编程研讨会上。]]谷歌学者谷歌学者
  37. G.D.Plotkin。LCF被认为是一种编程语言。《理论计算机科学》,第223-255页,1977年。]]谷歌学者谷歌学者
  38. R.普切拉。面向COM的形式化,第一部分:原始演算。在面向对象编程会议:系统、语言和应用程序(OOPSLA),2002年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  39. N.拉姆齐。使用高阶函数和类型嵌入解释语言。《解释器、虚拟机和仿真器》(IVME'03),2003年第6-14页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  40. J.Reppy和C.Song。特定于应用程序的外部接口生成。在生成程序设计和组件工程(GPCE)国际会议上,2006年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  41. P.斯特克勒。MysterX:一个使用COM构建交互式应用程序的Scheme工具包。《面向对象语言和系统技术》(TOOL),第364-373页,1999年。在线提供:citeseer.ist.psu.edu/steckler99mysterx.html.]]谷歌学者谷歌学者数字图书馆数字图书馆
  42. V.Trifonov和Z.Shao。安全且有原则的语言互操作。在欧洲编程研讨会(ESOP)上,第128至146页,1999年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  43. A.Wright和M.Felleisen。一种类型正确性的句法方法。《信息与计算》,第38-94页,1994年。首次以技术报告TR160的形式出现,莱斯大学,1991年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  44. S.Zdancewic、D.Grossman和G.Morrisett。编程语言原理。在1999年ACM SIGPLAN国际函数编程会议(ICFP)上。]]谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. 多语言程序的操作语义

      建议

      评论

      登录选项

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

      登录

      完全访问权限

      • 发布于

        封面图片ACM会议
        POPL'07:第34届ACM SIGPLAN-SIGACT编程语言原则研讨会会议记录
        2007年1月
        400页
        国际标准图书编号:1595935754
        内政部:10.1145/1190216
        • 封面图片ACM SIGPLAN注意事项
          ACM SIGPLAN通知 第42卷第1期
          2007年持久性有机污染物大会记录
          2007年1月
          379页
          国际标准编号:0362-1340
          EISSN公司:1558-1160
          内政部:10.1145/1190215
          期刊目录

        版权所有©2007 ACM

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

        出版商

        计算机协会

        美国纽约州纽约市

        出版历史

        • 出版:2007年1月17日

        权限

        请求有关此文章的权限。

        请求权限

        检查更新

        限定符

        • 第条

        接受率

        总体验收率824属于4,130提交文件,20%

        即将召开的会议

        流行乐'25
        第52届ACM SIGPLAN编程语言原理年会
        2025年1月19日至25日
        丹佛,CO,美国

      PDF格式

      以PDF文件查看或下载。

      PDF格式

      电子阅读器

      使用eReader联机查看。

      电子阅读器