Handbook
Glossary
create-enum-member-assoc ( class member-list -- member-assoc )
Vocabulary
classes
.
enumeration
.
private
Inputs
class
an
object
member-list
an
object
Outputs
member-assoc
an
object
Definition
USING:
combinators
kernel
make
math
sequences
;
IN:
classes.enumeration.private
:
create-enum-member-assoc
( class member-list -- member-assoc )
[
0
[
1
+
]
]
2dip
[
[
unclip
swap
[
rot
rotd
]
dip
{
{
[
dup
length
0
=
]
[
drop
f
swap
]
}
{
[
dup
length
1
=
]
[
nipd
first
t
rot
]
}
[
2nip
first2
dup
]
}
cond
[
define-enum-elt-word
]
dip
[
( current -- next )
call-effect
]
keep
]
with
each
2drop
]
{
}
make
;