写点什么

深入 DLR 语言——IronJS

  • 2012-07-25
  • 本文字数:489 字

    阅读完需:约 2 分钟

IronJS DLR 上的 ECMAScript 3.0 实现。其作者 Fredrik Holmström 最近在 i-programmer 的访谈上深入讨论在 DLR 上做语言实现的各种细节。

Fredrik 特别强调 DLR 为他省下了很大的工作量:

DLR 自带了很多好东西。

语言互操作是其中之一。DLR 本身代码的坚实可靠。输出 IL 等很大比例的设施它都帮你准备好了。

Fredrik 指出 DLR 有两种用法,一种是通过特殊的 binder 类 / 对象来关联操作,另一种是把 DLR 当作 IL 生成器和编译工具,然后自行做绑定。前一种速度较慢,IronJS 用的是后一种方案。根据去年的基准测试报告,速度已经超过IE8 的引擎。

自己做binding 的副作用,是牺牲了与其他DLR 语言互操作的天然能力。

IronJS 的解析器当前用 F#写成,而核心运行时是用C#写的。为了提升速度,Fredrik 计划在下一版本中将所有的 F#代码替换为 C#。他又在和Scott Hanselmann 进行的访谈中提到,IronJS 既然建立在CLR 之上,撞上性能墙只是迟早问题,无法跟原生代码的 V8 相比。

如果你想在 DLR 上实现自己的语言,阅读文档是个好的开始。“Iron”系列语言的源代码也是很好的阅读材料,如 IronPython 或者 IronRuby

查看英文原文: Inside A DLR Language – IronJS

2012-07-25 14:023150
用户头像

发布了 225 篇内容, 共 65.0 次阅读, 收获喜欢 50 次。

关注

评论

发布
暂无评论
发现更多内容

模块五 作业

薛定谔的指南针

架构实战营

从水晶宫到甲秀楼:在数博会读懂智慧城市的“大工业时代”

脑极体

架构实战营 模块五课后作业

iProcess

架构实战营

如何画好架构图 (建议收藏)

悟空聊架构

流程图 架构图 6月日更 processon 原理图

【Flutter 专题】110 页面间小跳转 (四)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

新手模拟实现call和apply

前端树洞

大前端 js this JavaScrip

设计微博系统中”微博评论“的高性能高可用计算架构

贯通

#架构实战营

Proxy 对象简介

编程三昧

JavaScript 大前端 ES6 Proxy

模块五:课后作业

黄先生

架构实战营 模块五作业

Dylan

架构实战营

模块5作业

大肚皮狒狒

JVM之内存管理

邱学喆

JVM 内存管理 垃圾回收算法 垃圾回收器

前端vue在可视化大屏领域的工作实践

孙叫兽

Vue 可视化 eCharts 可视化地图 引航计划

spring-beans 注册 Beans(三) ConfigurationClassPostProcessor处理BeanDefinition流程

梦倚栏杆

用Docker的方式编译OpenVINO

IT蜗壳-Tango

6月日更

架构实战营模块五作业

冷大大

作业 架构实战营 模块五

模块5-”微博评论“的高性能高可用计算架构

小遵

作业

CR

【Vue2.x 源码学习】第六篇 - 数据代理的实现

Brave

源码 vue2 6月日更

架构模块5作业

高亮

架构训练营

模块五-微博评论高性能高可用计算架构

华仔架构训练营

git stash误使用drop删掉本地保存,恢复代码一次记录

良知犹存

git

【LeetCode】目标和Java题解

Albert

算法 LeetCode 6月日更

架构训练营——模块五作业——微博评论

开拓纪

架构训练营 模块五 微博评论

模块5 学习总结

TH

架构实战营

架构实战营5 作业

梦寻解语花

架构实战营

架构实战营模块5

阿体

”微博评论“的高性能高可用计算架构

thewangzl

运动居然成了我的奢侈品?

悟空聊架构

程序员 程序人生 运动 6月日更

模块5作业 微博评论高性能高可用计算架构

TH

架构实战营

react源码解析7.Fiber架构

全栈潇晨

react.js react源码

深入DLR语言——IronJS_语言 & 开发_Roopesh Shenoy_InfoQ精选文章