6个版本
新版本 0.1.5 | 2024年8月23日 |
---|---|
0.1.4 | 2024年8月22日 |
#350 在 算法 中排名
508 每月下载量
在 2 crates 中使用
105KB
1.5K SLoC
libphext
此Rust项目提供了标准的Phext实现(11维平面超文本)。有关phext格式的更多信息,请访问https://phext.io。
电梯简报
Phext是层次化数字记忆。它使人类与计算机之间的无缝知识传递成为可能。让我们学习如何在星球尺度上思考。 :)
零依赖
Phext只是11维文本。因此,您只需要phext.rs和标准库即可与之交互。*这个小小的依赖给您提供了层次化的超级能力。请明智地使用它们!
注意:尽管我们依赖于xxh3进行校验和内容哈希,但我们不需要其他依赖。
Phext动机
在20世纪80年代,计算机每秒可以以25 KB的速度写入软盘。到2020年代,写入SSD的速度可以达到2 GB/s。这改变了“小文件”的定义。不幸的是,我们大多数的文件抽象(尤其是在Windows上)并没有扩展到利用这些性能优势。在大多数情况下,这并不是什么大问题:人类使用键盘的速度仍然受到每秒300 bps的限制。然而,在未来的25年内,我们将拥有高带宽的脑部交互,届时我们需要一个高维度的格式。LLM的引入加速了我们的过渡,您可以使用phext与代理和人类群体进行大规模交互——想象一下同时可视化900亿的计算机屏幕。Phext就像被赋予了一个坐标系系统,允许您高效地遍历任何问题空间。
Phext坐标系格式
规范格式:按顺序排列坐标以避免需要标签
- 示例:z3.z2.z1/y3.y2.y1/x3.x2.x1
- z3 - 图书馆(LB)
- z2 - 书架(SF)
- z1 - 系列号(SR)
- y3 - 集合(CN)
- y2 - 卷(VM)
- y1 - 书(BK)
- x3 - 章节(CH)
- x2 - 部分(SN)
- x1 - 卷轴(SC)
- 构建
- 使用以下命令克隆此仓库:
- git clone https://github.com/wbic16/libphext.git
- 安装
安装以下依赖项:
- 1. Rust 1.50或更高版本
- 安装 Rust
- 运行
cargo build
测试
- 完成上述构建步骤
- 运行
cargo test
运行
- 构建和测试项目后,启动火箭服务器。
- 运行
cargo run
Phext 基础
- test_more_cowbell: 确保你有了更多的 cowbell!
- line_break: 证明我们正在使用 ASCII 换行符
- coordinate_parsing: 验证字符串 -> 坐标 -> 字符串产生相同的结果
- scrolls: 验证 SCROLL_BREAK 可以可靠地分割 3 个卷轴
- sections: 验证 SECTION_BREAK 可以可靠地分割 3 个部分
- chapters: 验证 CHAPTER_BREAK 可以可靠地分割 3 个章节
- books: 验证 BOOK_BREAK 可以可靠地分割 3 本书
- volumes: 验证 VOLUME_BREAK 可以可靠地分割 3 个卷
- collections: 验证 COLLECTION_BREAK 可以可靠地分割 3 个集合
- series: 验证 SERIES_BREAK 可以可靠地分割 3 个系列
- shelves: 验证 SHELF_BREAK 可以可靠地分割 3 个架子
- libraries: 验证 LIBRARY_BREAK 可以可靠地分割 3 个图书馆
- coordinates_invalid: 测试无效坐标检测
- coordinates_valid: 确保一个现实坐标是有效的
- realistic_parse: 验证一个包含许多分隔符的坐标可以正确解析
- dead_reckoning: 验证我们可以准确计算现有的 phext 文档上的坐标
测试
- next_scroll: 验证我们可以通过卷轴对子空间进行标记
- phokenize: 验证我们可以构建子空间 phokens(phext 令牌)
- test_url_encoding: 测试带有分号的交替 URL 格式
- coordinate_based_insert: 验证通过 phext 坐标进行随机插入是否有效
- coordinate_based_replace: 验证通过 phext 坐标进行随机替换是否有效
- coordinate_based_remove: 验证通过 phext 坐标进行随机卷轴移除是否有效
- range_based_replace: 验证可以使用 phext 坐标范围来替换文本
- expand: 验证分隔符可以增加 1 维度
- contract: 验证分隔符可以缩小 1 维度
- merge: 验证两个 phext 文档可以进行 zip-merge(交集)
- subtract: 验证我们可以从第二个 phext 文档中修剪所有坐标
- normalize: 验证可以从给定的 phext 文档中修剪空卷轴
依赖项
~105KB