Files
mgmt/lang/interpret_test/TestAstFunc2/changing-scoped-lambda.txtar
James Shubin 8fffd10280 lang: Port TestAstFunc2 to txtar format
This ports TestAstFunc2 from our home-grown content storage system to
the txtar package. Since a single file can be used to represent the
entire folder hierarchy, this makes it much easier to see and edit
tests.
2023-06-01 16:56:44 -04:00

48 lines
700 B
Plaintext

-- main.mcl --
# this can return changing functions, and could be optimized, too
$funcgen = func($a) {
if $a {
func($b) {
if $b == "hello" {
func() {
"true-true"
}
} else {
func() {
"true-false"
}
}
}
} else {
func($b) {
if $b == "hello" {
func() {
"false-true"
}
} else {
func() {
"false-false"
}
}
}
}
}
$fn1 = $funcgen(true)
$fn2 = $funcgen(false)
$out1 = $fn1("hello")
$out2 = $fn1("world")
$out3 = $fn2("hello")
$out4 = $fn2("world")
test $out1() {}
test $out2() {}
test $out3() {}
test $out4() {}
-- OUTPUT --
Vertex: test[true-true]
Vertex: test[true-false]
Vertex: test[false-true]
Vertex: test[false-false]