Goscript:Rust 实现的 Go 语言规范
Anaconda 开发商最近发布了 PyScript,这是一个可以让开发者在 HTML 中混写 Python 代码的框架,有人将其称为“Python 版 JSP”。事实上,PyScript 底层采用了 WebAssembly, 因为它基于 Pyodide 构建,Pyodide 由编译成 WebAssembly 的 CPython 3.8 解释器组成,允许在网页浏览器中运行 Python。
无独有偶,开发者采用相同的思路让 Go 也顺利在浏览器上运行。https://goscript.dev 网站支持在浏览器端直接运行 Go 代码,这是一个 Go playground,底层采用 Goscript,通过 WASM 实现。
Goscript 是 Go 语言规范的非官方实现,用于 Rust 项目的内嵌或封装,提供了更简单的方式封装和调用底层的 Rust 代码。就像Lua之于Redis/WoW,或者Python之于NumPy。
Goscript 包含六个项目:
parser
把源代码变成AST,移植自Go官方代码。type checker
基于AST做类型推倒和类型检查,也移植自Go官方代码。codegen
基于AST和类型信息生成字节码。vm
运行字节码。std
官方库,移植自Go官方库。engine
包含官方库的native部分,再加上简单封装。
Goscript 实现了 Go 的几乎所有特性(pre 1.18,因此不包括泛型),并移植了部分官方库,已通过的相关测试用例查看 https://github.com/oxfeeefeee/goscript/tree/master/engine/tests。
Goscript 项目代码:https://github.com/oxfeeefeee/goscript

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
改善开源作者收入不足问题,Appwrite 设立开源基金
开源如今已被用来创造几乎所有的现代计算技术,开源也是很多技术与服务的支柱,就是这样一个影响社会多个方面的重要领域,却仍然有很多项目的开发者和维护者没有获得相应的报酬。我们也曾多次报道过这类事件(报道一、报道二)。 为了帮助解决这个问题,后端即服务(BaaS)平台 Appwrite 日前启动了一个新的开源软件基金(OSS Fund),该基金将在第一年向那些为今天的数字基础设施提供了支撑,但没有得到相应报酬的开发者颁发 5 万美元的奖金。 根据 Linux 基金会的数据,当前开源已占所有软件的 70% — 90%。为了确保开源生态能够长期可持续性的发展,为在这一领域做出贡献的人提供适当的奖励是相当重要的一点。 Appwrite 的创始人兼 CEO Eldad Fux 表示: 开源推动了世界技术的发展,但许多从中受益的公司几乎没有为开源社区做出贡献。作为一家诞生于开源的公司,我们明白为此创建一个健康的生态是有多么重要。 我们会用 Appwrite 的一些成功和投资来支持开发者和维护者,以回馈的方式来展望未来。我们希望我们的贡献能够带来改变。 该基金的申请现在已经开放,并将每年接受一次。至于资...
-
下一篇
GAN 之父、苹果机器学习总监 Ian Goodfellow 不满复工政策,选择辞职
外媒 The Verge 科技记者Zoë Schiffer爆料称,苹果机器学习总监 Ian Goodfellow 因不满公司的复工政策而离开公司。他在给员工的一份说明中说道:“我坚信,对我的团队来说,公司提供更大的灵活性将是最好的政策。” 根据苹果此前公布的重返办公室工作政策,其要求员工从 4 月 11 日起回到办公室工作。最初,员工们每周只需要返回办公室工作一天,其余时间远程办公。然后,随着时间的推移逐渐增加在办公室工作的时间。到 5 月 2 日,苹果员工每周要回办公室工作两天,到 5 月 23 日后至少每周要回办公室工作三天。 Ian Goodfellow 被称为“GAN(生成对抗网络)之父”,在加入苹果前曾在谷歌和 OpenAI 工作过,在人工智能领域无疑是顶级专家。
相关文章
文章评论
共有0条评论来说两句吧...