guppylang icon indicating copy to clipboard operation
guppylang copied to clipboard

refactor!: Implement `result` using overloads instead of a custom node

Open mark-koch opened this issue 1 week ago • 2 comments

Closes #1357

Depends on #1360

Note that this PR is only breaking for guppylang-internals

BREAKING CHANGE: Removed guppylang_internals.nodes.ResultExpr BREAKING CHANGE: Moved guppylang_internals.std._internal.checker.{TAG_MAX_LEN, TooLongError} to guppylang_internals.std._internal.compiler.platform

mark-koch avatar Nov 26 '25 17:11 mark-koch

🐰 Bencher Report

Branchfeat/result-overload
TestbedLinux
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
microseconds (µs)
(Result Δ%)
Upper Boundary
microseconds (µs)
(Limit %)
tests/benchmarks/test_big_array.py::test_big_array_check📈 view plot
🚷 view threshold
654,463.49 µs
(0.00%)Baseline: 654,463.49 µs
687,186.67 µs
(95.24%)
tests/benchmarks/test_big_array.py::test_big_array_compile📈 view plot
🚷 view threshold
1,532,341.40 µs
(0.00%)Baseline: 1,532,341.40 µs
1,608,958.47 µs
(95.24%)
tests/benchmarks/test_big_array.py::test_big_array_executable📈 view plot
🚷 view threshold
7,213,110.92 µs
(0.00%)Baseline: 7,213,110.92 µs
7,573,766.47 µs
(95.24%)
tests/benchmarks/test_ctrl_flow.py::test_many_ctrl_flow_check📈 view plot
🚷 view threshold
48,253.73 µs
(0.00%)Baseline: 48,253.73 µs
50,666.42 µs
(95.24%)
tests/benchmarks/test_ctrl_flow.py::test_many_ctrl_flow_compile📈 view plot
🚷 view threshold
85,700.77 µs
(0.00%)Baseline: 85,700.77 µs
89,985.81 µs
(95.24%)
tests/benchmarks/test_ctrl_flow.py::test_many_ctrl_flow_executable📈 view plot
🚷 view threshold
589,157.78 µs
(0.00%)Baseline: 589,157.78 µs
618,615.67 µs
(95.24%)
tests/benchmarks/test_prelude.py::test_import_guppy📈 view plot
🚷 view threshold
48.51 µs
(0.00%)Baseline: 48.51 µs
50.94 µs
(95.24%)
🐰 View full continuous benchmarking report in Bencher

github-actions[bot] avatar Nov 26 '25 17:11 github-actions[bot]

Codecov Report

:x: Patch coverage is 98.11321% with 2 lines in your changes missing coverage. Please review. :white_check_mark: Project coverage is 93.52%. Comparing base (517dddf) to head (9fdeef3).

Files with missing lines Patch % Lines
...ylang_internals/std/_internal/compiler/platform.py 97.91% 2 Missing :warning:
Additional details and impacted files
@@                    Coverage Diff                     @@
##           fix/comptime-args-call    #1361      +/-   ##
==========================================================
+ Coverage                   93.50%   93.52%   +0.01%     
==========================================================
  Files                         125      126       +1     
  Lines                       11282    11267      -15     
==========================================================
- Hits                        10549    10537      -12     
+ Misses                        733      730       -3     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov-commenter avatar Nov 26 '25 17:11 codecov-commenter