8 个版本

使用旧的 Rust 2015

0.1.7 2017年4月30日
0.1.6 2017年4月30日
0.1.5 2016年5月17日
0.1.4 2016年3月14日
0.1.2 2016年2月28日

#14 in #stdlib


parrot 使用

MIT/Apache 许可

11KB
116 行代码,不含注释

Latin

一个简化和扩展的标准库

简单的事情应该简单,复杂的事情应该可能。 —— Alan Kay

Rust 的标准库是一项令人印象深刻的工程技术成就。它设法保持一致性、性能和可扩展性。然而,执行简单任务和保持通用性常常是矛盾的。以将一些文本写入文件的任务为例。使用 rust stdlib 的实现如下所示

use std::io::Write;

let mut file = try!(std::fs::File::Create(FILE_NAME));
try!(file.write_all(CONTENTS));
std::mem::drop(file);

所有这些冗长性都源于 rust 标准库保持通用的目标;然而,可读性却受到了影响。

Latin 尝试尽可能多地采用常见操作,并使它们尽可能清晰和易于记忆。上面的程序使用 Latin 编写将是

try!(latin::file::write(FILE_NAME, CONTENT));

意识形态

  • 简单的事情应该简单。
    • 识别经常重写的过于冗长的代码,并将其简化为一行。
  • 保留错误。
    • Latin 应该像它们替换的代码中一样暴露结果。
  • 扩展范围不仅限于 Rust 标准库。
    • 下载文件、解析/保存图像等都在路线图上。

无运行时依赖