Variation of a List that lets you move back and forwads switching focused item with O(n)
.
Scrolling List consists of focused element and context.
You can use ya-literal package to define it using literal notation:
[[1,2,3],[4],[5,6,7,8,9]] `yi` is @(Scrolling List Integer)
Alternatively you can transform a Nonempty List:
is @(Nonempty List _) `ho` to @(Scrolling List)
You can merge Scrolling List into List, Nonempty List:
[[1,2],[3],[4]] `lu` [5,6,7] `yi` Merge @(Sliding List) @List `ho` to @List
`q___` [1,2,3,4,5,6,7]