< 返回版块

ChaosBot 发表于 2018-10-25 11:15

Tags:rustnews

「Rust每日新闻」调查问卷

还没有提交问卷的小伙伴,来填写一下问卷。

回头会把统计结果给大家分享,目前的统计结果很有意思,但是样本有点少,需要大家的配合。到时候把结果放出来,大家也可以对国内的Rust社区有一个了解。

来填问卷喽


「小工具」tinyrick:形式比较自由的Rust build工具

该工具实现了一些宏,包装了Rust的一些构建命令,让开发者可以自定义自己的构建工具

tinyrick


「工具」Reflow:统一代理规则

此程序可以自动充分利用所有代理,VPN和接口。

构建于网络层,可以自动让应用层选择每一个连接的代理。

reflow

Read more Reddit


「博文」四种语言中的代数数据类型

该文作者对Haskell、Scala、Rust和TypeScript四种语言提供的代数数据类型(ADT)进行了对比。

结论:

  • 作者认为Haskell 的最简单
  • Rust的次之,几乎和Haskell一样简单
  • Scala 排第三
  • TypeScript最后,虽然比较冗长,但还是朝着简洁类型系统迈出了一大步

Read More


Rust,Battlecode和Halite:初学者对AI编程竞赛的体验

该作者在学习Rust的第一个主要项目是Halite II 机器人,它是Two Sigma的AI编程竞赛的升级。广义上讲,它是一个游戏,在连续的二维地图上控制船队,寻路,并在舰与舰之间对战,资源管理等等,这些都有时间限制。

后来作者参加MIT的Battlecode 2018,对方的机器人引擎是Rust实现的,而作者的是用Python,所以作者的机器人总是不断的超时。后来作者也切换到了Rust解决了这个问题。

截止到今天,Halite III发布了,是一个资源管理游戏,支持Rust语言,大家可以去玩玩,用Rust打排名赛,截止到明年1月份。

Read More

halite.io

Halite III代码仓库中可以找到Rust支持套件


「研究项目」「系列文章」Shifgrethor III: Rooting

本文是Shifgrethor GC的第三篇,withoutboats讲述了该GC标记算法中如何标记根对象。

前两篇内容索引:

精确跟踪GC一般有两种rooting策略:

  • 栈映射。编译器生成栈的元数据,来记录栈帧中GC指针的位置。GC按此元数据通过遍历栈来标识所有活动对象的根。
  • 运行时收集。运行时维护所有活动对象的root集合。遵循此模式的大多数Rust实现都使用了侵入式双向链表。

栈映射通常被认为是最一流的办法,但是Rust遇到了一些问题。首先,栈映射需要语言自身支持,用库无法实现。其次,栈映射只能映射到栈,而不是堆。

所以shifgrethor最初的实现是利用了Pin API实现了一个侵入式双向链表。因为root指针不能被移动。本文主要描述了该设计遇到Rust借用检查器,产生的一些问题,以及他如何解决。将来也许可能增加新的语法来支持这个。后面会写文章专门讨论这个想法。

下一篇文章将讲述如何通过root跟踪GC堆的对象。

Read More


「博文」Rust学习心得

该文作者是《Ruby原理剖析》原作者Pat写的。他现在也开始学习Rust,尝试用Rust改写之前的Ruby脚本,然后在这个过程中有一些心得,通过该文进行记录。

感兴趣的可以看看

Read More


每日新闻订阅地址:

欢迎通过GitHub issues投稿。

评论区

写评论

还没有评论

1 共 0 条评论, 1 页