写点什么

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

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

关注

评论

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

模块九作业

VE

架构实战营

在线HTTP请求/响应头转JSON工具

入门小站

工具

如虎添翼!6款备受欢迎的Edge浏览器插件

Jackpop

手把手带你做好团队管理|引航计划|管理

石云升

团队管理 管理 引航计划 技术专题合集

从头开始(概率)学HMM:精讲第一课-隐马尔可夫模型定义

herosunly

AI 引航计划 内容合集

设计电商秒杀系统

gawaine

架构训练营

数据库:B/B+树

正向成长

B+树 B树

决策树——从原理走向实战

cv君

AI 引航计划

为什么赛博朋克里总少不了日本元素?

脑极体

自定义Vue脚手架模板之:Vue-Cli源码分析

Brave

源码 vue cli 10月月更

基于深度学习的医学图像分割(一)

cv君

AI 引航计划

仁兄,可曾听闻OpenVINO

cv君

AI 引航计划

【布隆过滤】大数据+查重过滤+爬虫领域精选算法

cv君

AI 引航计划

原创万字总结人工智能技术栈与学习路线 下集 进阶篇

cv君

AI 引航计划

浅谈人工智能的历史

Nydia

从头开始(概率)学HMM:精讲第二课-学习问题(BW算法)

herosunly

AI 引航计划 内容合集

Vue3 + TypeScript 开发实践总结

程序员海军

大前端 Vue3 引航计划

架构实战营 模块九 作业

脉醉

架构实战营

自我提升:高效能人士的7个习惯学习笔记

程序员架构进阶

自我管理 自我提升 10月月更

原创万字总结人工智能技术栈与学习路线 上集 基础篇

cv君

AI 引航计划

【设计模式】第一篇 - 组合模式

Brave

组合模式 10月月更

手把手带你做好项目管理|引航计划|管理

石云升

项目管理 管理 引航计划 技术专题合集

中国法定数字货币(DCEP)全面启航!全国普及势在必行

CECBC

uni-app 在mac电脑连接安卓手机进行真机调试

达摩

uni-app app调试

JavaScript 脚本优化的 10 个技巧

devpoint

JavaScript 性能优化 10月月更

linux之history使用技巧

入门小站

Linux

AI驱动!7款开发者必备生产力工具

Jackpop

924清退在即,你的币转入数字货币钱包了吗?

CECBC

推荐2个网站,牛x就完事了!

Jackpop

从头开始(概率)学HMM:精讲第三课-概率计算问题

herosunly

AI 引航计划 内容合集

电商秒杀系统

feitian

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