2 个版本
使用旧版 Rust 2015
0.1.1 | 2018 年 6 月 19 日 |
---|---|
0.1.0 | 2018 年 6 月 19 日 |
#700 in 并发
82KB
1.5K SLoC
rs-object-space
此 crate 是 ObjectSpace 的实现,ObjectSpace 是基于 Gelernter 在 1985 年提出的 元组空间 的概念的自然发展。ObjectSpace 是一种能够持有任何结构(例如:字符串、整数和复杂结构都可以存在于 ObjectSpace 中)的数据结构。它还允许根据字段的值检索结构。
此 crate 还提供了一个完全线程安全的 ObjectSpace 实现,允许简单的并发和分布式编程。
此 crate 需要使用 Rust nightly 版本进行构建和用途。
构建
您需要 Rust 的 nightly 版本来构建库。要安装 nightly Rust,首先按照 这些说明 安装 Rustup,然后在终端中执行 rustup install nightly
。
要构建库,请运行 cargo build
,或运行 cargo build --release
获取完全优化的版本。要运行库的测试,请运行 cargo test
要构建文档,请运行 cargo doc
。文档可在 target/doc/object_space/index.html
找到。
构建和运行示例
在 examples
文件夹中有两个示例:primes
计算小于一个数的所有素数,reminder
是一个简单的使用 ObjectSpace 的提醒程序。
要构建/运行示例,请执行 cargo build(run) --example <example_name>
。例如:cargo run --example reminder
白皮书
我们为此项目提供了一份白皮书。白皮书详细说明了这个项目的灵感和目标。白皮书的内容可以在paper/final_paper.md中找到。虽然它以Markdown格式可读,但该文档旨在以由Pandoc生成的PDF文件的形式阅读。要生成PDF文件,请确保您已安装Pandoc,使用cd
命令切换到paper
文件夹并运行
pandoc --filter pandoc-citeproc final_paper.md -o final_paper.pdf
可以在ResearchGate上找到该论文的预编译PDF版本,DOI为10.13140/RG.2.2.32432.05124。请注意,这个版本(生成于2018年6月19日)可能在未来会过时。
问题
有关正在进行的问题的更多信息,请参阅问题部分。目前,最重要的问题是
- 完成代理接口 #3
- 阻塞读取超时 #6
依赖项
~2.7–4MB
~72K SLoC