programming language
Find a file
2025-10-21 08:34:21 -04:00
benches add block expressions 2025-10-21 08:34:21 -04:00
crates/jang add block expressions 2025-10-21 08:34:21 -04:00
programs add block expressions 2025-10-21 08:34:21 -04:00
src add block expressions 2025-10-21 08:34:21 -04:00
.gitignore basic parser and interpreter from example 2025-10-16 18:25:22 -04:00
Cargo.lock switch lexer to logos 2025-10-20 21:41:19 -04:00
Cargo.toml switch lexer to logos 2025-10-20 21:41:19 -04:00
README.md add block expressions 2025-10-21 08:34:21 -04:00

this is a programming language maybe

perf log:

  • switching to logos for lexing (13.71 MB/s parsing... still pretty bad)
Fibonacci/Parse/programs/medium.jang
                        time:   [13.715 ms 13.748 ms 13.782 ms]
                        change: [76.299% 76.233% 76.166%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
  5 (5.00%) high mild
Fibonacci/Interpret/programs/medium.jang
                        time:   [15.646 ms 15.668 ms 15.693 ms]
                        change: [73.006% 72.935% 72.867%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
  4 (4.00%) high mild
Fibonacci/Parse/programs/test.jang
                        time:   [5.4356 µs 5.4369 µs 5.4383 µs]
                        change: [82.092% 82.052% 82.004%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
  2 (2.00%) high mild
  6 (6.00%) high severe
Fibonacci/Interpret/programs/test.jang
                        time:   [6.5476 µs 6.5506 µs 6.5541 µs]
                        change: [79.543% 79.499% 79.471%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
  • adding block expression to avoid deep recursion (22.8 MB/s parsing, also enabled running long programs without stack overflow lol)
Fibonacci/Parse/programs/medium.jang
                        time:   [9.3838 ms 9.3884 ms 9.3929 ms]
                        change: [31.880% 31.709% 31.544%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 10 outliers among 100 measurements (10.00%)
  5 (5.00%) low severe
  5 (5.00%) high mild
Fibonacci/Interpret/programs/medium.jang
                        time:   [11.324 ms 11.329 ms 11.334 ms]
                        change: [27.811% 27.695% 27.582%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
  3 (3.00%) high mild
  1 (1.00%) high severe
Fibonacci/Parse/programs/test.jang
                        time:   [3.0235 µs 3.2381 µs 3.4928 µs]
                        change: [23.214% 13.984% 5.8612%] (p = 0.00 < 0.05)
                        Performance has improved.
Fibonacci/Interpret/programs/test.jang
                        time:   [2.5598 µs 2.7237 µs 2.8978 µs]
                        change: [59.249% 57.809% 55.973%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 19 outliers among 100 measurements (19.00%)
  4 (4.00%) low mild
  7 (7.00%) high mild
  8 (8.00%) high severe