Handbook
Glossary
merge-selection-spans ( spans -- merged )
Vocabulary
core-text
Inputs
spans
an
object
Outputs
merged
an
object
Definition
USING:
arrays
kernel
math
math.order
sequences
sorting
;
IN:
core-text
::
merge-selection-spans
( spans -- merged )
V{
}
clone
:>
merged spans
[
first
]
sort-by
[|
span |
merged
empty?
[
span merged
push
]
[
merged
last
:>
previous span
first
previous
second
<=
[
previous
first
previous
second
span
second
max
2array
merged
set-last
]
[
span merged
push
]
if
]
if
]
each
merged
>array
;