写点什么

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

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

关注

评论

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

脑洞:如何用一个整数来表示一个列表?

Python猫

Python

得物(毒)APP,8位抽奖码需求,这不就是产品给我留的数学作业!

小傅哥

Java 小傅哥 编程开发 七日更 数学逻辑

【理论篇】浅析分布式中的 CAP、BASE、2PC、3PC、Paxos、Raft、ZAB

merlinfeng

大数据 分布式

比特币10年:从2个披萨涨到2万美金,背后的三个“神秘人”

CECBC

比特币

使用基于 SpringMVC 的透明 RPC 开发微服务

AI乔治

Java spring 架构 微服务 Spring Cloud

Fair World智能合约APP系统软件开发

系统开发

神比喻:低代码开发像自动驾驶汽车,零代码开发像无人驾驶汽车!

J2PaaS低代码平台

程序员 软件 开发者 低代码 开发工具

Service Mesh最火项目Istio是怎么做流量管理的?

AI乔治

Java 架构 istio

甲方日常72

句子

工作 随笔杂谈 日常

发布会直播技术及业务实践

vivo互联网技术

分布式 服务器 直播技术

2020,谁是中国ToB行业最有影响力的企业?

ToB行业头条

2020 微信头像圣诞帽来啦,快给 TA 戴帽子吧~

mghio

圣诞帽 微信头像 圣诞节

小白干货奇遇记

熊斌

个人成长 七日更

做音视频最好用的几款跨平台框架

anyRTC开发者

flutter uni-app ios android WebRTC

【经验分享】遵循10步法,应用系统发布效率大不同!

嘉为蓝鲸

敏捷 运维自动化 部署 发布流程 应用发布

volatile,synchronized可见性,有序性,原子性代码证明(基础硬核)

叫练

volatile 多线程 synchronized 原子性 指令

大连市税务局局长赵福增:用区块链打破部门间“信息孤岛”

CECBC

区块链 汽车

距离 Java 开发者玩转 Serverless,到底还有多远?

阿里巴巴云原生

Java Serverless 微服务 云原生 中间件

编程之美!从线程池状态管理来看二进制操作之美

Geek Tech

Java 源码分析 线程池

智慧社区综合信息服务平台搭建,智能社区建设解决方案

t13823115967

智慧社区系统开发

英特尔宋继强:迈向可持续的千倍速计算未来

E科讯

MSHA x Chaos 容灾高可用实践

阿里巴巴云原生

数据库 高可用 云原生 中间件 容灾

谁告诉你观察者就是发布订阅模式的!抽他!

爱笑的架构师

设计模式 23种设计模式 观察者模式 Java设计模式 七日更

世界之书:《麦田里的守望者》与在虚无中创造希望

lidaobing

麦田里的守望者 28天写作

执法办案信息化建设,情报研判管控分析平台搭建解决方案

t13823115967

智慧公安

Polkadot系列(三)——如何实现共享安全性

QTech

区块链 polkadot 跨链

“区块链+社会治理”模式获居民点赞

CECBC

区块链 区块链投票

Reactive Spring实战 -- 理解Reactor的设计与实现

binecy

reactor Reactive SpringBoot 2

2020年书单

井中人

生产环境全链路压测建设历程17:某快递A股上市公司的生产压测案例之前言

数列科技杨德华

全链路压测 七日更

入门参考:从Go中的协程理解串行和并行

soolaugust

Go Concurrency Patterns 七日更 Go 语言

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