Handbook
Glossary
compile-engine ( engine -- obj )
Vocabulary
generic
.
single
Inputs
engine
an
object
Outputs
obj
an
object
Definition
IN:
generic.single
GENERIC:
compile-engine
( engine -- obj )
Methods
USING:
accessors
assocs
combinators
generic.single
kernel
namespaces
sequences
;
M:
echelon-dispatch-engine
compile-engine
dup
n>>
0
=
[
methods>>
dup
assoc-size
{
{
0
[
drop
default
get
]
}
{
1
[
>alist
first
second
compile-engine
]
}
}
case
]
[
methods>>
compile-engines*
build-fast-hash
]
if
;
USING:
generic.single
;
M:
f
compile-engine
;
USING:
accessors
assocs
generic.single
kernel
namespaces
;
M:
predicate-engine
compile-engine
[
compile-predicate-engine
]
[
class>>
]
bi
[
drop
]
[
predicate-engines
get
set-at
]
2bi
;
USING:
accessors
assocs
generic.single
kernel
layouts
namespaces
;
M:
tag-dispatch-engine
compile-engine
methods>>
compile-engines*
[
[
tag-number
]
dip
]
assoc-map
num-types
get
direct-dispatch-table
;
USING:
accessors
arrays
assocs
generic.single
kernel
math
namespaces
sequences
;
M:
tuple-dispatch-engine
compile-engine
tuple
assumed
[
echelons>>
compile-engines
dup
keys
maximum
1
+
f
<array>
<enumerated>
swap
assoc-union!
seq>>
]
with-variable
;
USING:
generic.single
words
;
M:
word
compile-engine
;