写点什么

深入 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:023588
用户头像

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

关注

评论

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

设计消息队列存储消息数据的MySQL表格

张逃逃

@DateTimeFormat 注解 和 @JsonFormat 注解

乌龟哥哥

4月月更

重学架构之消息队列存储消息数据的 MySQL 表格

陈华英

架构实战营 「架构实战营」

谈谈客户体验管理有效实施

龙国富

客户体验 CEM CXM 客户体验管理

在线ASCII Banner艺术字生成工具

入门小站

工具

MQ存储消息的MYSQL表格设计

邹玉麒

架构训练营5期

设计消息队列存储消息数据的 MySQL 表格

smile

设计消息队列存储消息数据的 MySQL 表格

浪飞

亚马逊云科技 2022 年 3 月新服务新功能强势来袭

亚马逊云科技 (Amazon Web Services)

服务 亚马逊

【架构学习08】——设计消息队列存储消息数据的 MySQL 表格

tiger

架构实战营

架构训练营模块八

Geek_16d2b8

架构训练营 模块八

模块八

blazar

「架构实战营」

模块8作业

Leo

架构实战营

面试突击40:线程休眠的方法有几种?

王磊

Java java面试

「架构实战营」模块八 消息队列存储设计

hxb

「架构实战营」

消息队列存储消息数据的MySQL 表格设计

tom

云原生训练营 -Week08-2

jjn0703

[模块8]消息队列存储消息数据的MySQL表格

凌波微步

「架构实战营」

文件包含漏洞带来的危害

喀拉峻

网络安全 漏洞

设计消息队列存储消息数据的 MySQL 表格

风中奇缘

#架构实战营 「架构实战营」

一个系统工程师的14条建议

一席

高可用 稳定性 SRE 混沌工程 故障排查

Linux驱动开发-内核共享工作队列

DS小龙哥

4月月更

Bigdata 作业第七周

Pyel

消息队列MySQL存储设计

石小天

「架构实战营」

[Day18]-[动态规划] 打家劫舍3

方勇(gopher)

LeetCode 动态规划 数据结构和算法

消息队列存储消息数据的MySQL表

Fingal

#架构实战营

模块八作业

Geek_ec866b

架构训练营

软件工程学习之道

乌龟哥哥

4月月更

CityClub游览随笔记录

耳东@Erdong

InfoQ InfoQ写作社区2周年 City Club

spring-cloud-kubernetes背后的三个关键知识点

程序员欣宸

java 4月月更

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