~plan/plunder

efb1079ad065cd52a12a626202a03f610b3c189e — Michael Hueschen 4 months ago 177bb19
seed README tweaks

first 3 are typos. last one is a typo (`d`=>`a`), and adjusting the edge
list for `a`. `a` should not connect to `0` (`d`). edges are
immediate-adjacency, not transitive.
1 files changed, 4 insertions(+), 4 deletions(-)

M doc/seed/README.md
M doc/seed/README.md => doc/seed/README.md +4 -4
@@ 2,7 2,7 @@

Seed is a simple format for encoding binary trees of natural numbers.

The format has a number off desirable properties:
The format has a number of desirable properties:

-   It's very simple to write an efficient SEED loader. (See [this
    demo](./demo.c) for an example of this).


@@ 18,7 18,7 @@ The format has a number off desirable properties:
-   Individual DAG nodes of a PLAN value can be serialized individually.
    For example, by using hashes to encode an edge-list.

-   All repeated subtrees and written only once.
-   All repeated subtrees are written only once.

When serializing PLAN values, we write out pins and laws by encoding
them as expressions that evaluate to pins and laws. For example `<3>` is


@@ 77,7 77,7 @@ Each tree is bit-encoded with the following scheme:
    0(r{n}) -> where n is the bit-width of the maximum backref size.

each element of the `trees` array omits the outermost 1 bit.  Since each
atom is already in the table, the top over every `tree` is always an
atom is already in the table, the top of every `tree` is always an
interior node.

For example, `((0 1) (0 1))` is this data:


@@ 234,7 234,7 @@ Can be written with the following scheme:
        [ ([], SEED(d))
        , ([0], SEED(b))
        , ([0], SEED(c))
        , ([0,1,2], SEED(d))
        , ([1,2], SEED(a))
        ]
    )