Handbook
Glossary
callable
Factor handbook
»
The language
»
Collections
»
Quotations
Prev:
quotation? ( object -- ? )
Next:
Wrappers
Vocabulary
quotations
Class description
The class whose instances can be passed to
call
. This includes quotations and composed quotations built up with
curry
or
compose
.
Definition
USING:
kernel
;
IN:
quotations
UNION:
callable
quotation
curried
composed
;
Methods
USING:
compiler.tree.builder.private
quotations
stack-checker.backend
;
M:
callable
(build-tree)
infer-quot-here
;
USING:
arrays
functors.private
kernel
quotations
;
M:
callable
>fake-quotations
>array
>fake-quotations
fake-quotation
boa
;
USING:
prettyprint.custom
quotations
;
M:
callable
>pprint-sequence
;
USING:
arrays
compiler.cfg.intrinsics.simd.backend
generalizations
kernel
make
quotations
;
M::
callable
>vector-op-cond
( quot #pick #dup -- quotpair )
#dup quot
[vector-op-checked]
[
[
2drop
]
]
dip
compose
#dup
[
[
%
]
]
dip
[
nnip
]
curry
compose
2array
;
USING:
kernel
quotations
sequences
tools.continuations
;
M:
callable
add-breakpoint
dup
[
break
]
head?
[
\
break
prefix
]
unless
;
USING:
combinators
html.templates
quotations
;
M:
callable
call-template*
( -- )
call-effect
;
USING:
macros.expander
quotations
sequences
;
M:
callable
condomize
[
condomize
]
map
;
USING:
macros.expander
quotations
sequences
;
M:
callable
condomize?
[
condomize?
]
any?
;
USING:
compiler.units
kernel
quotations
stack-checker
tools.disassembler
words
;
M:
callable
disassemble
[
dup
infer
define-temp
]
with-compilation-unit
disassemble
;
USING:
kernel
quotations
sequences
;
M:
callable
equal?
over
callable?
[
sequence=
]
[
2drop
f
]
if
;
USING:
macros.expander
make
quotations
sequences
;
M:
callable
expand-macros
[
begin
[
expand-macros*
]
each
end
]
[
]
make
;
USING:
macros.expander
quotations
;
M:
callable
expand-macros*
expand-macros
literal
;
USING:
fry
fry.private
quotations
sequences
;
M:
callable
fry
[
[
[
]
]
]
[
(fry)
]
if-empty
;
USING:
combinators
quiz
quotations
;
M:
callable
generate-question*
( -- quot )
call-effect
;
USING:
kernel
namespaces
quotations
stack-checker.backend
stack-checker.branches
stack-checker.visitor
;
M:
callable
infer-branch
[
copy-inference
nest-visitor
[
quotation
set
]
[
infer-quot-here
]
bi
collect-variables
]
with-scope
;
USING:
kernel
quotations
sequences
;
M:
callable
like
drop
dup
quotation?
[
>quotation
]
unless
;
USING:
kernel
lint.private
namespaces
quotations
sequences
;
M:
callable
lint
lint-definitions-keys
get-global
[
subseq-of?
]
with
filter
;
USING:
compiler.tree.builder
compiler.tree.debugger
compiler.tree.optimizer
namespaces
prettyprint
prettyprint.config
quotations
;
M:
callable
optimized.
build-tree
optimize-tree
nodes>quot
f
length-limit
[
.
]
with-variable
;
USING:
kernel
present
quotations
sequences
splitting
;
M:
callable
present
[
"[ ]"
]
[
[
drop
"[ "
]
[
[
present
]
map
join-words
]
[
drop
" ]"
]
tri
3append
]
if-empty
;
USING:
quotations
tools.crossref.private
;
M:
callable
quot-uses
seq-uses
;
USING:
locals.rewrite
make
quotations
sequences
;
M:
callable
quotation-rewrite
[
[
rewrite-sugar*
]
each
]
[
]
make
;
USING:
kernel
locals.rewrite
locals.types
make
quotations
sequences
;
M:
callable
rewrite-closures*
dup
free-vars
[
<quote>
]
map
[
%
]
[
var-defs
prepend
(rewrite-closures)
point-free
,
]
[
length
\
curry
<repetition>
%
]
tri
;
USING:
locals.rewrite
make
quotations
;
M:
callable
rewrite-sugar*
quotation-rewrite
,
;
USING:
combinators
destructors
io
io.pipes.private
kernel
quotations
;
M:
callable
run-pipeline-element
[
[
[
?reader
]
[
?writer
]
bi*
]
dip
[
( -- result )
call-effect
]
curry
with-streams*
]
with-destructors
;
USING:
compiler.tree.propagation.inlining
quotations
;
M:
callable
splicing-nodes
splicing-body
;
USING:
effects
quotations
stack-checker
;
M:
callable
stack-effect
infer
;
USING:
compiler.cfg.builder
compiler.cfg.debugger
quotations
words
;
M:
callable
test-builder
build-optimized-tree
gensym
build-cfg
;
USING:
hash-sets.identity
kernel
namespaces
quotations
sets
tools.crossref
tools.crossref.private
;
M:
callable
uses
IHS{
}
clone
visited
[
HS{
}
clone
[
quot-uses
]
keep
members
]
with-variable
;
USING:
alien.private
kernel
namespaces
quotations
sequences
stack-checker.alien
;
M:
callable
wrap-callback-quot
swap
[
callback-parameter-quot
]
[
callback-return-quot
]
bi
surround
wait-for-callback-hook
get
[
do-callback
]
2curry
>quotation
;