在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

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

关注

评论

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

Docker基础:Docker 常用命令梳理

天使不哭

#开源 8月月更

Kubernetes信息安全

CTO技术共享

开源 信息安全 Kubernetes 集群 签约计划第三季 8月月更

Kubernetes故障排查eBPF

CTO技术共享

开源 ebpf 签约计划第三季 8月月更

Go-Excelize API源码阅读(一)——NewFile()

Regan Yue

Go 开源 源码刨析 8月月更

VS Code如何打造C/C++开发环境?

Jackpop

百家号打击挂载恶意导流链接行为,必须严厉打击恶意挂链灰产

石头IT视角

技术内幕 | StarRocks Community Champion、阿里云技术专家解读 Optimizer 实现

StarRocks

数据库

C++深拷贝与浅拷贝,初始化列表,对象成员,静态成员相关分析

CtrlX

8月月更

C++ 中的四种智能指针

桑榆

c++ 8月月更

开源一夏 | jQuery 密码验证和深入理解JSONP【前端jQuery框架】

恒山其若陋兮

开源 8月月更

架构实战营课程学习感受

极客土豆

gulp 的常用 API

Jason199

js gulp 8月月更

系统管理-Linux重定向与管道

Albert Edison

Linux centos 运维 服务器 8月月更

Kubernetes网络模型

CTO技术共享

开源 Kubernetes 集群 签约计划第三季 8月月更

Linux的难题,终于有解了!

Jackpop

Service Mesh迁移原则

阿泽🧸

Service Mesh 8月月更

钝感力与自我和解

Amazing_eve

#开源

电动汽车充电站的部署优化策略

乌龟哥哥

8月月更

一起学习集合框架之 TreeSet

宇宙之一粟

Java 8月月更

为什么互联网大厂一边疯狂裁员,一边不停招聘?

Jackpop

文本词频统计的利器 Trie树

Five

c 算法题 8月月更

头脑风暴:零钱兑换

HelloWorld杰少

8月月更

Python 教程之输入输出(5)—— input() 函数中的漏洞 – Python 2.x

海拥(haiyong.site)

Python 8月月更

最好的编程语言

flow

签约计划第三季

设计模式:里氏替代原理(LSP)

flow

签约计划第三季

Nacos配置中心之服务端长轮询处理机制

急需上岸的小谢

8月月更

C++为什么始终无法取代 C 吗?

Jackpop

SRv6网络典型部署场景

穿过生命散发芬芳

8月月更 SRv6

关于 SAP UI5 floating footer 显示与否的单步调试以及使用 SAP UI5 的收益

汪子熙

前端开发 SAP SAP UI5 ui5 8月月更

SRE运维解密-服务质量目标:SLI,SLO,SLA

董哥的黑板报

微服务 运维 云原生 SRE Google

如何克服紧张

踏雪痕

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