6个版本

新版本 0.1.5 2024年8月23日
0.1.4 2024年8月22日

#350算法 中排名

Download history 130/week @ 2024-08-08 378/week @ 2024-08-15

508 每月下载量
2 crates 中使用

MIT 许可证

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. 1. Rust 1.50或更高版本
  2. 安装 Rust
  3. 运行 cargo build

测试

  1. 完成上述构建步骤
  2. 运行 cargo test

运行

  1. 构建和测试项目后,启动火箭服务器。
  2. 运行 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