Avatar for the ArkScript-lang user
ArkScript-lang
Ark
BlogDocsChangelog

feat(closures): captures are no longer fully qualified

#568Merged
Comparing
fix/field-names-qualification
(
d1e05ae
) with
dev
(
c65ea7e
)
CodSpeed Performance Gauge
-2%
Improvements
0
Regressions
6
Untouched
11
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

quicksort
tests/benchmarks/main.cpp::quicksort
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
create_list
tests/benchmarks/main.cpp::create_list
CodSpeed Performance Gauge
0%
6.6 ms
6.6 ms
n_queens
tests/benchmarks/main.cpp::n_queens
CodSpeed Performance Gauge
0%
110.7 ms
110.6 ms
for_sum
tests/benchmarks/main.cpp::for_sum
CodSpeed Performance Gauge
0%
977.2 ms
977.2 ms
ackermann
tests/benchmarks/main.cpp::ackermann
CodSpeed Performance Gauge
0%
309.9 ms
309.9 ms
fibonacci
tests/benchmarks/main.cpp::fibonacci
CodSpeed Performance Gauge
0%
27.8 ms
27.8 ms
binary_trees
tests/benchmarks/main.cpp::binary_trees
CodSpeed Performance Gauge
0%
4.7 s
4.7 s
create_closure
tests/benchmarks/main.cpp::create_closure
CodSpeed Performance Gauge
0%
4.6 ms
4.6 ms
builtins
tests/benchmarks/main.cpp::builtins
CodSpeed Performance Gauge
0%
3.7 ms
3.7 ms
New parser - Bigger[3]
New parser - Bigger[3]
CodSpeed Performance Gauge
-1%
39.2 ms
39.4 ms
New parser - Big - 665 nodes[2]
New parser - Big - 665 nodes[2]
CodSpeed Performance Gauge
-1%
9.7 ms
9.7 ms
New parser - Medium - 83 nodes[1]Regression
New parser - Medium - 83 nodes[1]
CodSpeed Performance Gauge
-1%
852.3 µs
861 µs
New parser - Simple - 39 nodes[0]Regression
New parser - Simple - 39 nodes[0]
CodSpeed Performance Gauge
-1%
336.1 µs
340.5 µs
Welder - Big - 665 nodes[2]Regression
Welder - Big - 665 nodes[2]
CodSpeed Performance Gauge
-1%
34.2 ms
34.7 ms
Welder - Bigger[3]Regression
Welder - Bigger[3]
CodSpeed Performance Gauge
-2%
63 ms
64 ms
Welder - Medium - 83 nodes[1]Regression
Welder - Medium - 83 nodes[1]
CodSpeed Performance Gauge
-2%
1.8 ms
1.8 ms
Welder - Simple - 39 nodes[0]Regression
Welder - Simple - 39 nodes[0]
CodSpeed Performance Gauge
-2%
930 µs
951.2 µs

Commits

Click on a commit to change the comparison range
Base
dev
c65ea7e
-1.97%
feat(closures): captures are no longer fully qualified This means that we can safely capture top-level variables in packages, without having to write closure.pkg:var later on. Internally, variables are still fully qualified, but a rename instruction has been added for captures, and unqualified names are tracked in the AST for this to work.
c5673fd
26 days ago
by SuperFola
+0.01%
chore: enhancing code with cppcheck suggestions
5e848d2
25 days ago
by SuperFola
-0.26%
fix(vm): loading a module was breaking LOAD_SYMBOL_BY_INDEX instructions, because it put its mapping at the end of the global scope This resulted either in data from scope 1+ being overwritten, or invalid indices for LOAD_SYMBOL_BY_INDEX, as we added one or more locals between the local we wanted to load and the last module's local.
1034dc7
25 days ago
by SuperFola
0%
refactor(vm, module): moving the module mapping type definition to a separate file to avoid code duplication and circular includes
eeafff7
25 days ago
by SuperFola
0%
fix(ci): import tests/unittests/testmodule.arkm in artifacts
d1e05ae
25 days ago
by SuperFola
© 2025 CodSpeed Technology
Home Terms Privacy Docs