Open
Description
Bug Report
Performance issue: KCL evaluates unused package fields.
1. Minimal reproduce step (Required)
Run script:
#!/bin/sh
mkdir -p unused_pkg
cat > kcl.mod <<EOF
[package]
name = "__main__"
edition = "0.0.1"
version = "0.0.1"
EOF
cat > main.k <<EOF
import unused_pkg
EOF
cat > unused_pkg/data.k <<EOF
show = lambda s -> str {
print(s)
s
}
foo = {
name: "foo"
value: show("foo")
}
EOF
kcl run .
This script creates files:
kcl.mod
[package] name = "__main__" edition = "0.0.1" version = "0.0.1"
main.k
import unused_pkg
unused_pkg/data.k
show = lambda s -> str { print(s) s } foo = { name: "foo" value: show("foo") }
And run main.k
.
2. What did you expect to see? (Required)
I expect that top-level unused variables is lazy evaluated.
{}
3. What did you see instead (Required)
I see labmda output on unused top-level variable evaluation.
foo
{}
4. What is your KCL components version? (Required)
0.10.9-linux-amd64