36 lines
548 B
Plaintext
36 lines
548 B
Plaintext
-- main.mcl --
|
|
# this can return changing functions, and could be optimized, too
|
|
func funcgen($b) {
|
|
if $b {
|
|
func() {
|
|
"hello"
|
|
}
|
|
} else {
|
|
func() {
|
|
"world"
|
|
}
|
|
}
|
|
}
|
|
|
|
$fn1 = funcgen(true)
|
|
$fn2 = funcgen(false)
|
|
|
|
$out1 = $fn1()
|
|
$out2 = $fn2()
|
|
|
|
test "${out1}" {}
|
|
test "${out2}" {}
|
|
-- OUTPUT --
|
|
Edge: FuncValue -> call # fn
|
|
Edge: FuncValue -> call # fn
|
|
Edge: call -> call # fn
|
|
Edge: call -> call # fn
|
|
Vertex: FuncValue
|
|
Vertex: FuncValue
|
|
Vertex: call
|
|
Vertex: call
|
|
Vertex: call
|
|
Vertex: call
|
|
Vertex: const: bool(false)
|
|
Vertex: const: bool(true)
|