harehare
mq
BlogDocsChangelog

✨ feat(lang): add loop construct for infinite loops with break/continue support

#1035Merged
Comparing
feat/add-loop-construct
(
ede8977
) with
main
(
cd0d854
)
CodSpeed Performance Gauge
-1%
Untouched
29

Benchmarks

Passed

eval_fibonacci
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
55.2 ms55.2 ms
eval_while_speed_test
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
17.1 ms17.1 ms
eval_select_h
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
264.2 µs264.2 µs
eval_function_call_overhead
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
1.5 ms1.5 ms
eval_nested_function_calls
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
1.1 ms1.1 ms
eval_variable_assignment_chain
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
954.6 µs956.3 µs
eval_large_markdown_filtering
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
24.4 ms24.5 ms
eval_markdown_complex_query
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-1%
20.4 ms20.5 ms
eval_macro_expansion_simple
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-1%
203.8 µs204.9 µs
eval_string_interpolation
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-1%
60 µs60.4 µs
eval_yaml_parse
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-1%
24.4 ms24.5 ms
eval_macro_expansion_nested
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-1%
110.5 µs111.7 µs
eval_array_chained_operations
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-1%
8.7 ms8.8 ms
eval_array_filter
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-1%
9.4 ms9.5 ms
parse_fibonacci
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-1%
149.3 µs151.1 µs
eval_json_parse
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-1%
12.4 ms12.6 ms
eval_array_map
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-1%
7.1 ms7.2 ms
eval_if_else_branching
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-1%
6.9 ms7 ms
eval_long_pipeline
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-2%
6.4 ms6.5 ms
eval_array_fold
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-2%
6.2 ms6.3 ms
eval_qualified_access_to_csv_module
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-2%
10 ms10.1 ms
eval_csv_parse
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-2%
9.7 ms9.8 ms
eval_object_field_access
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-2%
5.6 ms5.7 ms
eval_foreach
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-2%
5.3 ms5.4 ms
eval_pipeline_with_conditionals
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-2%
5.4 ms5.5 ms
eval_nested_object_access
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-2%
4.9 ms5 ms
eval_nodes
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-2%
4.5 ms4.6 ms
eval_no_macro_large_program
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-2%
291.1 µs297.4 µs
eval_string_equality
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
-2%
5 ms5.1 ms

Commits

Click on a commit to change the comparison range
Base
main
cd0d854
-0.43%
✨ feat(lang): add loop construct for infinite loops with break/continue support Implements a new 'loop' keyword that creates an infinite loop construct. The loop can be controlled using 'break' to exit and 'continue' to skip to the next iteration. Changes: - Added Loop token kind and keyword parsing in lexer - Added Loop expression nodes in AST and CST - Implemented loop evaluation logic with break/continue handling - Added loop support in formatter, macro expansion, and HIR - Added semantic token support in LSP - Added comprehensive integration tests Example usage: let x = 0 | loop: let x = x + 1 | if(x > 5): break else: x;;
7fc46e2
4 days ago
by harehare
0%
✨ feat(eval): add test cases for loop constructs with immediate break support
d0c5ac2
4 days ago
by harehare
-0.13%
✨ feat(docs): add loop expression section with examples and use cases
81fd266
4 days ago
by harehare
-0.23%
✨ feat(eval): simplify loop control in evaluator by removing first iteration checks
0c0a9e2
4 days ago
by harehare
0%
✨ Add loop keywords
543e93d
4 days ago
by harehare
-0.3%
✨ feat(lexer): reorder control keywords for improved parsing efficiency
ede8977
4 days ago
by harehare
© 2026 CodSpeed Technology
Home Terms Privacy Docs