Handbook
Glossary
clamp-gadget-path ( path gadget -- path' )
Vocabulary
ui
.
traverse
Inputs
path
an
object
gadget
an
object
Outputs
path'
an
object
Definition
USING:
accessors
kernel
math
math.order
sequences
;
IN:
ui.traverse
::
clamp-gadget-path
( path gadget -- path' )
path
empty?
gadget
not
or
[
{
}
]
[
gadget
children>>
:>
children children
empty?
[
{
}
]
[
path
first
0 children
length
1
-
clamp
:>
index path
first
index
=
[
path
rest-slice
index children
nth
clamp-gadget-path
]
[
{
}
]
if
index
prefix
]
if
]
if
;