主机名:page-component-848d4c4894-hfldf总加载时间:0渲染日期:2024-05-19T20:35:41.662Z有数据问题:falsehasContentIssue为false

OCaml-Java:作为OCaml编译器目标的Java虚拟机*

部分: JFP研究文章

剑桥大学出版社在线出版:2016年5月17日

XAVIER CLERC公司*
附属:
(电子邮件:xclerc@ocamljava.org)
权限和权限 [在新窗口中打开]

摘要

核心共享和HTML视图不适用于此内容。但是,由于您有权访问此内容,可以通过“保存PDF”操作按钮获得完整的PDF。

本文介绍OCaml-Java项目中的编译器如何从OCaml源代码生成Java字节码。以Java虚拟机(JVM)为目标是一项技术挑战,但OCaml可以访问一个平台,在这个平台上,OCaml能够利用多个内核并访问许多库。我们介绍了有关运行时的主要设计选择以及编译器执行的各种优化,这些优化对于在JVM上获得良好性能至关重要。实际上,挑战不仅是生成字节码,还包括生成有效率的字节码,并提供一个运行时库,其内存占用不会影响垃圾收集器的效率。我们将重点放在与原始OCaml编译器不同的策略上,因为与本机代码相比,JVM上的约束非常不同。OCaml-Java编译器达到的性能水平通过基准测试进行评估,与原始OCaml实现和Scala语言进行比较。

类型
文章
版权
版权所有©剑桥大学出版社2016

工具书类

巴拉,五、。,沃伊隆,J。&雅科夫斯基,B。(2009)经验报告:Ocsigen,一个网络编程框架.Sigplan没有。 44 (9),311316.谷歌学者
本顿,N。&肯尼迪,答:。(1999)没有眼泪的中介语工作:SML与Java的融合.英寸第四届ACM SIGPLAN函数编程国际会议记录,ICFP’99。美国纽约州纽约市:ACM公司,第页。126137.谷歌学者
本顿,N。,肯尼迪,答:。&罗素,G.公司。(1998)将标准ML编译为Java字节码.英寸第三届ACM SIGPLAN功能编程国际会议论文集,ICFP’98。美国纽约州纽约市:ACM公司,第页。129140.谷歌学者
本顿,N。,肯尼迪,答:。&俄罗斯,C.V.公司。(2004)互操作性冒险:SML.net的经验.英寸第六届ACM SIGPLAN声明式编程原理与实践国际会议记录.美国纽约州纽约市:ACM公司,第页。215226.谷歌学者
沙尤,E.公司。,卡努,B。&,第页。(2009)用于多核体系结构的OCaml。网址:http://www.algo-prog.info/ocmc/web/.谷歌学者
沙尤,E.公司。&亨利,G.公司。(2004)O'Jacaré,une接口objet entre Objective Caml et Java。欧布杰特.谷歌学者
沙尤,E.公司。,亨利,G.公司。&蒙特拉提奇,R。(2004)中混合使用Objective Caml和C#编程模型。NET框架。在使用面向对象语言(MPOOL)的多参数编程研讨会挪威奥斯陆。谷歌学者
克莱尔,十、。(2007)巴里斯塔图书馆。网址:http://barista.x9c.fr.谷歌学者
克莱尔,十、。(2012a) OCaml-Java:从OCaml源代码到Java字节码。函数语言的实现与应用IFL 2012,第71–85页。谷歌学者
克莱尔,十、。(2012b) OCaml-Java:JVM上的OCaml。函数式编程趋势TFP 2012,第167-181页。谷歌学者
克莱尔,十、。(2013a)OCaml-Java:Java生态系统的ML实现.英寸Java平台编程原则与实践国际会议,2013年第页,美国纽约州纽约市:ACM公司,第页。4556.谷歌学者
克莱尔,十、。(2013b) OCaml-Java:输入OCaml程序的Java访问。函数语言的实现与应用IFL 2013,第167-181页。谷歌学者
丹拉托托,M。&迪科斯莫,R。(2011)Parmap:多核编程的极简库。网址:https://gitorious.org/parmap.谷歌学者
菲利特,J-C。&卡利亚纳桑达拉姆,英国。(2011)Functory:一个用于目标凸轮的分布式计算库。函数式编程趋势《2011年全要素生产率》,第65-81页。谷歌学者
Fornet公司,C、。,勒·费森特,F、。,马兰盖,L。&施密特,答:。(2003)JoCaml:一种并发分布式和移动编程语言.英寸高级函数编程,Jeuring公司,J。&琼斯,美国。(编辑),第2638卷。柏林/海德堡:施普林格,第页。19481948.10.1007/978-3-540-44833-4.谷歌学者
希基,R。(2008)Clojure编程语言.英寸2008年动态语言研讨会论文集2008年DLS。美国纽约州纽约市:ACM公司。网址:http://dl.acm.org/citation.cfm?id=1408681 谷歌学者
勒罗伊,十、。(1990)ZINC实验:ML语言的经济实现。技术报告,INRIA。谷歌学者
勒罗伊,十、。(2004)Camljava项目。网址:http://forge.ocamlcore.org/projects/camljava.谷歌学者
勒罗伊,十、。,多利盖兹,D。,弗里希,答:。,加里格,J。,雷米,D。&沃伊隆,J。(2013)OCaml System 4.01版。文档和用户手册。网址:http://caml.inia.fr/pub/docs/manual-ocaml/ 谷歌学者
莫尼,M。&瓦贡,B。(2012)OCamlCC–将低级字节码提升为高级C.OCaml用户开发人员。丹麦哥本哈根(http://oud.ocaml.org/2012/).谷歌学者
微软. (2000)C#语言微软的集体项目。谷歌学者
蒙特拉蒂奇,R。,沙尤,E.公司。,帕加诺,B。 等。(2005)目标凸轮打开。NET:ocamil编译器和顶层。第三届国际会议记录。NET技术。开源项目:主要开发人员是查尔斯·奥利弗·纳特(Charles Oliver Nutter)、托马斯·恩博(Thomas Enebo)、奥拉·比尼(Ola Bini)和尼克·西格(Nick Sieger)。谷歌学者
螺母,C、。 等。(2008)JRuby一个Java驱动的Ruby实现。网址:http://jruby.org.谷歌学者
奥德斯基,M。 等。(2003)Scala语言。网址:http://www.scala-lang.org/.谷歌学者
施托尔普曼,G.公司。(2012)Plama:映射/缩减和分布式文件系统。网址:http://plasma.camlcity.org/.谷歌学者
赛姆,D。 等。(2005)F#语言。网址:http://fsharp.org.谷歌学者
沃伊隆,J。&巴拉,五、。(2014)从字节码到JavaScript:js_of_ocaml编译器.英寸软件:实践与经验,44 (8),951972.谷歌学者
提交响应

讨论

尚未发布此文章的讨论。