AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

关注

评论

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

TestNG 中使用 Guice 来进行依赖注入

HoneyMoose

Qz学算法-数据结构篇(排序算法--基数、总结)

浅辄

数据结构 三周年连更

跨平台应用开发进阶(五十五):uni-app 获取设备信息及 APP 报无相应权限问题分析及解决

No Silver Bullet

uni-app 跨平台应用开发 三周年连更 问题分析及解决 设备信息

AlDente免费版,限制 Macbook 最大充电量,保护电池健康

Rose

AlDente Mac版 AlDente macOS 充电量阈值

【直播回顾】数字化转型成为银行业发展的关键(下)

易观分析

数字化转型 银行

华为云大数据BI解决方案,助力企业数字化运营

平平无奇爱好科技

灵活高效,华为云桌面实现随时随地办公

YG科技

Linux面试必备

袁袁袁袁满

三周年连更

华为云CDN赋能企业数字化转型

YG科技

Matlab实现粒子群算法

Shine

三周年连更

Oracle apex社区教程 PLSQL常用时间函数

back_wang

oracle apex

Oracle Apex学习之系统变量

back_wang

oracle ebs oracle apex

Downie下载vip会员视频教程?Downie4最新许可证

Rose

Downie下载 Downie使用教程 Downie 4许可证 Mac视频下载器 Downie破解版

微服务 SpringBoot 整合 Redis GEO 实现附近商户功能

Bug终结者

java; Redis 核心技术与实战 三周年连更

达芬奇18补丁版下载 支持m1/m2/intel/win

Rose

DaVinci Resolve 18 达芬奇18破解版 视频剪辑调色软件

浅谈华为云CDN在互联网领域的应用场景落地

YG科技

复旦MOSS大模型开源了「中国版ChatGPT」,Github和Hugging Face同时上线

肥晨

三周年连更

Unity 之 关于停止协程的五种方式解析

陈言必行

Unity 三周年连更

THREE.JS实现炫酷的3D简历网站

知心宝贝

前端 后端 3D ThreeJS 三周年连更

Shell脚本实战:Consul 服务注册和注销的最佳实践

小毛驴的烂笔头

Linux Shell

Spring Boot之log4j2基础使用入门|超级详细,建议收藏

bug菌

Spring Boot log4j2 三周年连更

华为云桌面——云端上“最卷的云”

平平无奇爱好科技

华为云桌面随需而至,让办公数字化触手可及

平平无奇爱好科技

photoshop 2023【存储为窗口显示空白、黑屏】解决方法

Rose

ps 2023储存黑屏 Photoshop 2023

macOS 13 Ventura (苹果最新系统) v13.3.1正式版

Rose

macOS Ventura 苹果系统下载 Mac最新系统

华为云桌面,如何为企业构建新型工作方式

平平无奇爱好科技

从源码全面解析 ArrayBlockingQueue 的来龙去脉

Java 源码 ArrayBlockingQueue

面试官:介绍一下什么是缓存雪崩、缓存击穿、缓存穿透?

Java redis 缓存穿透 缓存击穿 缓存雪崩

摆脱终端束缚,华为云桌面助力企业数字化转型

平平无奇爱好科技

华为云CDN加速,赋能企业数字化转型升级

YG科技

NFT加密钱包交易系统开发搭建技术

薇電13242772558

NFT

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