diff --git a/TODO.md b/TODO.md index f293c1a..44a68f4 100644 --- a/TODO.md +++ b/TODO.md @@ -30,32 +30,29 @@ naming a subterm within a Preserve. Record labels would be a kind of assertion on the current node. Indexes and keys would be steps. It'd be a lot like xpath I think; see also my `racket-xe` package. - - `child()` - moves into direct children - - `descendant-or-self()` - moves into direct and indirect children, including this node - - `descendant()` - moves into direct and indirect children, excluding this node - - `where[P*]` - "where" clause, applies nested path, keeping nodes with submatches - - `or[P*]` - result of first non-empty `P` match - - `at(K)` - moves into direct children whose keys are `K` from + - `` - moves into direct children + - `` - moves into direct and indirect children, including this node + - `` - moves into direct and indirect children, excluding this node + - `` - "where" clause, applies nested path, keeping nodes with submatches + - `` - result of first non-empty `P` match + - `` - moves into direct children whose keys are `K` from dictionaries, sequences or records; `K` should be a number for the latter two - - `label()` - moves into labels of records - - `equals(V)` - filters to only nodes that equal `V` - - `isa(T)` - filters to only nodes that are `T ∈ - [boolean float double signed-integer string byte-string symbol record sequence set dictionary]` + - `