考察基于Rust实现的语言:Gluon
Gluon算是用Rust实现的语言中最值得关注的一个。它的成熟度比其他用Rust实现的语言更高一点。
特点:
- Gluon是函数式语言,借鉴了 F#, OCaml 和 Haskell语言,静态类型,并支持类型推断。
- 它的目标应该是类似于Lua语言,可以嵌入在Rust语言中,也可以直接调用Rust函数,和Rust无缝集成。
- 它支持GC,但每个Gluon线程都使用一个单独的堆,堆的大小也比较克制,所以GC的开销理论上也比较小。
- 默认线程安全的语言。
- 支持Language Server Protocol (LSP)。
Gluon算是一种通用语言。然而在Rust生态社区更常用的是rlua,Lua语言的Rust绑定。
基于Rust实现的语言之中,还有另外两个语言值得关注:Dyon和Formality 。
Dyon是Piston游戏引擎组织实现的动态类型脚本语言,专门为游戏引擎和交互式应用程序而创建,其对象模型和javascript类似,但不存在null,支持类似Go的协程等。也可以和Rust无缝集成。
Formality,可用于写智能合约,可用于定理证明,兼容EVM(可运行以太坊合约),兼容GPU。
我印象中,还有另外一个使用Rust实现的动态语言,成熟度也很高,可惜的是,我已经忘记它的名字了,也搜索不到相关资料。如果你知道某款由Rust实现的编程语言,可以告诉我。
无论如何,这些语言都还太年轻,属于「极客语言(可不是什么褒义)」,请谨慎选择。
sd: 替代sed和awk的命令行工具
支持正则表达式语法
intellij rust 动态
目测是支持2018 edition新的模块系统了,也可以正确解析async和try关键字了。
Stacked Borrows中的屏障和两阶段借用
官方团队成员ralfj已经结束了他在Mozilla的实习工作。他在实习期间内推动了miri的进展,Stack Borrows是他一直研究的unsafe内存模型,新闻里前面也介绍过几期。为了完成他的博士学位,ralfj可能会缩减在Rust上面的精力投入,所以miri的进展后续又会变慢。
本文介绍了Stacked Borrows的新的进展。
「安全」sn0int:一个OSINT框架和包管理器
公开资源情报计划(Open source intelligence ),简称OSINT。该库专门为IT安全专业人员和漏洞搜索者设计,用于收集威胁情报。
alt: 帮助你选择不同版本命令的工具
当开发者从一个代码库迁移到其他代码库时,这些工具及其版本会发生变化。每次更改代码库时在这些工具的不同版本之间切换都是一场噩梦。这就是alt为什么存在。当你移动到不同的代码库时,它会自动切换命令的版本。
rust-dotenv已经迁移了GitHub仓库
还以为删库跑路了呢?目测下个版本要把crate中的Cargo.toml文件修改为新地址了
解压缩工具Unbox
WIP状态,可以快速解压各种类型的压缩文档。支持很多压缩类型。
用Rust编写Azure Functions
目前Azure Function还不支持Rust(差评),但是作者用docker达到了目标。
使用Nix来管理Rust的依赖 Part 1
作者在使用Rust时,遇到了Cargo包管理的一些问题,导致他脑洞一开,尝试使用外部包管理Nix和Cargo进行结合,来共同管理依赖。
每日新闻订阅地址:
欢迎通过GitHub issues投稿。