Skip to contents

Flexible Sequence (flexseq)

General-purpose persistent sequence with O(1) amortized push/pop at both ends, O(log n) indexing and replacement, and efficient split/concat.

flexseq()
Construct a Persistent Flexible Sequence
as_flexseq()
Coerce Objects to flexseq
push_front()
Push an Element to the Front
push_back()
Push an Element to the Back
pop_front()
Pop the Front Element
pop_back()
Pop the Back Element
peek_front()
Peek at the Front Element
peek_back()
Peek at the Back Element
insert_at()
Insert Elements at a Position
peek_at()
Peek at an Element by Position
pop_at()
Pop an Element by Position
split_at()
Split at a Position or Name
fapply()
Fapply with S3 dispatch
c(<flexseq>)
Concatenate Sequences
`$`(<flexseq>) `$<-`(<flexseq>) `[`(<flexseq>) `[[`(<flexseq>) `[<-`(<flexseq>) `[[<-`(<flexseq>)
Flexseq Indexing
print(<flexseq>)
Print a flexseq
length(<flexseq>)
Sequence Length
as.list(<flexseq>)
Coerce a Sequence to Base List
unlist(<flexseq>)
Coerce a Sequence to an Atomic Vector
plot(<flexseq>)
Plot a Sequence Tree

Priority Queue

Persistent priority queue with O(log n) insert and min/max peek/pop. Name-based read indexing only; cast with as_flexseq() for full sequence operations.

priority_queue()
Construct a Priority Queue
as_priority_queue()
Build a Priority Queue from x and priorities
insert()
Insert an Element
peek_min()
Peek Minimum-Priority Element
peek_max()
Peek Maximum-Priority Element
peek_all_min()
Peek All Minimum-Priority Elements
peek_all_max()
Peek All Maximum-Priority Elements
pop_min()
Pop Minimum-Priority Element
pop_max()
Pop Maximum-Priority Element
pop_all_min()
Pop All Minimum-Priority Elements
pop_all_max()
Pop All Maximum-Priority Elements
min_priority()
Minimum Priority Value
max_priority()
Maximum Priority Value
fapply()
Fapply with S3 dispatch
`[`(<priority_queue>) `[[`(<priority_queue>) `[<-`(<priority_queue>) `[[<-`(<priority_queue>) `$`(<priority_queue>) `$<-`(<priority_queue>)
Indexing for Priority Queues
as.list(<priority_queue>)
Coerce Priority Queue to List
unlist(<flexseq>)
Coerce a Sequence to an Atomic Vector
print(<priority_queue>)
Print a Priority Queue Summary
length(<priority_queue>)
Priority Queue Length
plot(<priority_queue>)
Plot a Priority Queue Tree

Ordered Sequence

Persistent key-ordered sequence with O(log n) insert, key lookup, and range queries. Read indexing preserves key order; replacement indexing is not supported.

ordered_sequence()
Construct an Ordered Sequence
as_ordered_sequence()
Build an Ordered Sequence from x and keys
insert()
Insert an Element
peek_key()
Peek First Element for One Key
peek_all_key()
Peek All Elements for One Key
pop_key()
Pop First Element for One Key
pop_all_key()
Pop All Elements for One Key
lower_bound()
Find First Element with Key >= Query
upper_bound()
Find First Element with Key > Query
elements_between()
Return Elements in a Key Range
count_key()
Count Elements Matching One Key
count_between()
Count Elements in a Key Range
min_key()
Minimum Key Value
max_key()
Maximum Key Value
fapply()
Fapply with S3 dispatch
`[`(<ordered_sequence>) `[[`(<ordered_sequence>) `[<-`(<ordered_sequence>) `[[<-`(<ordered_sequence>) `$`(<ordered_sequence>) `$<-`(<ordered_sequence>)
Indexing for Ordered Sequences
print(<ordered_sequence>)
Print an Ordered Sequence Summary
length(<ordered_sequence>)
Ordered Sequence Length
as.list(<ordered_sequence>)
Coerce Ordered Sequence to List
unlist(<flexseq>)
Coerce a Sequence to an Atomic Vector
plot(<ordered_sequence>)
Plot an Ordered Sequence Tree

Interval Index

Persistent interval index with O(log n) insertion and immutable interval query/pop helpers over ordered interval endpoints.

interval_index()
Construct an Interval Index
as_interval_index()
Build an Interval Index from x, start, and end
insert()
Insert an Element
peek_point()
Peek First Interval Containing a Point
peek_all_point()
Peek All Intervals Containing a Point
pop_point()
Pop First Interval Containing a Point
pop_all_point()
Pop All Intervals Containing a Point
peek_overlaps()
Peek First Interval Overlapping a Query Interval
peek_all_overlaps()
Peek All Intervals Overlapping a Query Interval
peek_containing()
Peek First Interval Containing a Query Interval
peek_all_containing()
Peek All Intervals Containing a Query Interval
peek_within()
Peek First Interval Within a Query Interval
peek_all_within()
Peek All Intervals Within a Query Interval
pop_overlaps()
Pop First Overlapping Interval
pop_all_overlaps()
Pop All Overlapping Intervals
pop_containing()
Pop First Containing Interval
pop_all_containing()
Pop All Containing Intervals
pop_within()
Pop First Interval Within a Query Interval
pop_all_within()
Pop All Intervals Within a Query Interval
min_endpoint()
Minimum Left Endpoint
max_endpoint()
Maximum Right Endpoint
fapply()
Fapply with S3 dispatch
`[`(<interval_index>) `[[`(<interval_index>) `[<-`(<interval_index>) `[[<-`(<interval_index>) `$`(<interval_index>) `$<-`(<interval_index>)
Indexing for Interval Indexes
print(<interval_index>)
Print an Interval Index Summary
length(<interval_index>)
Interval Index Length
as.list(<interval_index>)
Coerce Interval Index to List
unlist(<flexseq>)
Coerce a Sequence to an Atomic Vector
plot(<interval_index>)
Plot an Interval Index Tree

Developer Tools

Lower-level primitives for custom monoids, predicate queries, and validation.

add_monoids()
Add or Merge Measure Monoids
locate_by_predicate()
Locate First Predicate Match
split_around_by_predicate()
Split Around First Predicate Match
split_by_predicate()
Split into Left and Right Parts
measure_monoid()
Construct a Measure Monoid Specification
predicate()
Construct a Predicate Function
validate_tree()
Validate full tree invariants (debug/test utility)
validate_name_state()
Validate name-state invariants only (debug/test utility)