Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions oldhero/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# oldhero — the Go-era kvlang

This directory holds the **original Go implementation** of kvlang (back when it
was still called dxlang). It was the first working end-to-end system: parser,
lower, symbol, rwir, kvcpu, vthread, keytree, the rwir extension host, and an
early stdlib — the whole pipeline, in Go.

```
ast/ cmd/ keytree/ kvcpu/ layout/ logx/ lower/
parser/ rwir/ rwirext/ stdlib/ symbol/ vthread/
```

## Status: archived, frozen

The live implementation has moved on and now lives at the repository root:

- **layout** — a Rust crate (`layout/`) producing `libkvlanglayout.so` + `kvlanglayout`
- **runtime** — C (`runtime/`) producing `libkvlang_runtime.so`, driven by the
Rust binary `kvlang`

This Go version is kept **only as a memorial to the old hero** that carried the
project through its first era. It is **not maintained and will not be updated**.
For anything current — language behavior, the KV-tree model, the two-stage
layout/runtime split — refer to the root implementation and `stdlib/kvlang`, not
this directory.
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ kvspace 路径系统有 `/`(层级目录)与 `·`(成员目录)两个索
kindexp ::= kind # 标量
| '*' kindexp # 指针/软链接(body = 目标 key 路径)
| '@' kindexp # 扩展存储句柄(body = 位置信息,data 在扩展存储)
| '[' ']' kindexp # 变长数组(字面量初始化→compact;裸声明→散 key)
| '[' dims ']' kindexp # 定长/多维数组(一个 XValue,连续 body)
| '[' ']' kindexp # 变长一维数组类型;compact/stringkeymap 由初始化括号([...]/{...})定
| '[' dims ']' kindexp # 定长/多维数组(compact 形态,单 XValue 连续 body)
dims ::= INT (',' INT)*
kind ::= uint8 | int8 | int16 | uint16 | int32 | uint32 | int64 | uint64
| float32 | float64 | bool | char/utf32 | char/utf8 | char/ascii | time | duration
Expand Down
Loading