odd-cat 发表于 2022-01-19 10:27
Tags:rust,日报,paudle,yew,trunk,wordle,Rust-For-Linux,YJIT,lipstack,relm4
Paudle: 使用Yew
编写的类似Wordle
的猜字谜游戏
Paudle: A Wordle-like in Rust using Yew
Paudle
是对Josh Wardle
的优秀文字游戏Wordle
的重新实现。这个版本是用Yew
和Rust
制作的。作者仿照了Wordle
的颜色和布局(当然还有游戏逻辑),但实现都是原创的。
与最初的版本不同,这一版本完全是基于客户端的,因此没有什么可以阻止你作弊——如果你能找出如何从运行的WASM中提取当前单词的话。
运行步骤:
# 安装wasm target
rustup target add wasm32-unknown-unknown
# 安装trunk
cargo install trunk
# 拉取paudle代码仓库
git clone https://github.com/pmsanford/paudle && cd paudle
# 运行
trunk serve
# 然后在浏览器打开 http://localhost:8080/ 即可
关于Wordle
:
Wordle 和填字游戏都属于字谜游戏的一种。
这个游戏每天更新一期,玩家唯一目标,就是在六次尝试机会之内,猜出一个五个字母的单词。 为此,游戏界面是一个 5×6 的方块阵列。玩家通过下方键盘输入猜测结果后,游戏会给字母方块标上颜色,提示猜测的准确性:
绿色 🟩:说明答案里有这个字母、所在位置也正确;
黄色 🟨:说明答案里有这个字母、但不在这个位置;
灰色 ⬜️:说明答案里没有这个字母。
然后,玩家根据获得的提示继续尝试,直到猜对答案,或者用尽六次机会。
参考:
Rust For Linux内核补丁使用升级的Rust工具链进行修订,构建改进
Rust For Linux Kernel Patches Revised With Upgraded Rust Toolchain, Build Improvements
Miguel Ojeda
已经发布了他的第三次补丁迭代,这些补丁实现了支持Linux内核中Rust编程语言的基本基础设施。 早在12月份就有了v2补丁,而现在刚刚过了一个月,3版补丁就可以进行测试了。
随着Rust编译器版本已经确定,更新后的Rust for Linux
内核代码现在迁移到了Rust 1.58版本。此次补丁新增特性包括自动检测是否有合适的Rust工具链可用、其他构建系统改进、改进的文档以及其他通用代码清理和改进。
Miguel
指出,在Rust方面也有一些改进,“我们需要的一个不稳定的特性,-Zsymbol-mangling-version=v0
将在Rust 1.59.0中得到稳定。另一个特性,maybe_uninit_extra
可能会在Rust 1.60.0中得到改进。”
Linux内核的Rust基础设施以及一些基本的示例代码目前使这个v3修补程序系列有33.5k行新代码。
请参阅内核邮件列表上的v3补丁以供查看。
希望今年Rust能够进入Linux内核的主线!
将Ruby 的 JIT 编译器YJIT
迁移到Rust
YJIT
是用于 Ruby 的 JIT
编译器,它采用了惰性基础块版本管理 (lazy Basic Block Versioning, LBBV
) 架构。与当前的 CRuby
解释器相比,在进行实际基准测试时,YJIT 的平均速度大约提升了 23%。
现在YJIT团队希望探索使用Rust来帮助开发YJIT。而CRuby的其余部分将继续使用非Rust的工具链进行构建,而且构建Ruby应用时仍然支持YJIT
开关。
价值主张:
Rust
的类型系统将尽早捕获更多的bug,有助于防止新的bug;- 更易于管理日益复杂的
YJIT
; - 更容易维护代码库;
- 对于新手来说更容易,因为编译器捕获了更多的bug;
- 更好的性能,因为我们可以实现更复杂的优化;
- 更容易添加对新平台的支持(这增加了复杂性);
- Rust拥有成熟且易于安装的工具,如源代码格式化程序和编辑器插件;
- Rust作为一个编程语言社区,其背后有着巨大的热情。这可以转化为对YJIT和
Ruby
的更大热情。
集成:
- YJIT将只依赖于Rust语言和标准库,而不依赖于其他依赖项;
- YJIT将能够在没有互联网连接的情况下进行构建;
- Rust对交叉编译有很好的支持;
- Rust在我们计划使用YJIT支持的所有平台(Mac、Linux、Windows)上都受支持;
- 已编译的
CRuby
二进制文件不会对共享库有任何新的依赖项; - 在禁用YJIT的情况下,CRuby仍然可以在没有rustc的情况下进行构建
完整的意见说明参阅:Porting YJIT to Rust (request for feedback)
lipstack: 面向C语言的类Rust语法前端
lipstick: a Rust-like syntax frontend for C
lipstack
将Rust的语法汇编成C。尽管它没有借用检查器或生命周期管理,但它并不是一个“Rust语法子集”。它只是C语言的一个Rust的语法前端。
可以在Playground来实战体验它是怎样运作的。
参考:
- Github:https://github.com/jrvidal/lipstick
- Playground: https://jrvidal.github.io/lipstick/
一个新的Relm 4:宣布Relm4 v0.4!
A new Relm 4 you: announcing Relm4 v0.4!
From 日报小组 odd-cat
社区学习交流平台订阅:
评论区
写评论学习了,加油!