Skip to content

Commit

Permalink
More reliable short-cicruiting behavior for || and && operators. (I…
Browse files Browse the repository at this point in the history
…ntersectMBO#5863)

* chore: fix hlint warnings

* Test case that demonstrates lack of short-curicuiting under no GHC optimisations.

* Compile (&&), (||) as if .. then .. else

* Changelog entry

* Comment about Short-curcuiting && || tests
  • Loading branch information
Unisay authored and v0d1ch committed Dec 6, 2024
1 parent 28cec97 commit 9ef9ba6
Show file tree
Hide file tree
Showing 117 changed files with 481 additions and 376 deletions.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 400791988
| mem: 1448563})
({cpu: 388749171
| mem: 1408065})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 519677134
| mem: 1820164})
({cpu: 500740769
| mem: 1757528})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1367463687
| mem: 5132002})
({cpu: 1351483129
| mem: 5078718})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 970348150
| mem: 3452545})
({cpu: 954926803
| mem: 3401493})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 842043112
| mem: 2474598})
({cpu: 830007506
| mem: 2433932})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 376191639
| mem: 1372521})
({cpu: 364148822
| mem: 1332023})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 997652739
| mem: 3651724})
({cpu: 974771422
| mem: 3576470})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 984570123
| mem: 3604281})
({cpu: 968872776
| mem: 3552029})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 912690161
| mem: 3287099})
({cpu: 893615796
| mem: 3223863})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1333655976
| mem: 4614185})
({cpu: 1304019111
| mem: 4517393})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1407637502
| mem: 4697874})
({cpu: 1218966250
| mem: 4086646})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1326939567
| mem: 4837343})
({cpu: 1310959009
| mem: 4784059})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1460719571
| mem: 5306491})
({cpu: 1439671974
| mem: 5237161})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1771924290
| mem: 6441466})
({cpu: 1748896250
| mem: 6366210})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 610494250
| mem: 2241867})
({cpu: 594927692
| mem: 2190383})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 935480950
| mem: 3376263})
({cpu: 920059603
| mem: 3325211})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 632865368
| mem: 2325951})
({cpu: 615472301
| mem: 2268375})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 951682685
| mem: 3465181})
({cpu: 939225868
| mem: 3422883})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 378811524
| mem: 1378023})
({cpu: 366768707
| mem: 1337525})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1163639012
| mem: 4256422})
({cpu: 1144134713
| mem: 4192152})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 927918971
| mem: 3284945})
({cpu: 908844606
| mem: 3221709})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 378836696
| mem: 1378023})
({cpu: 366793879
| mem: 1337525})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 685149166
| mem: 1319874})
({cpu: 670287030
| mem: 1271054})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 2099908471
| mem: 1699398})
({cpu: 2091113395
| mem: 1668686})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 451345264
| mem: 1663840})
({cpu: 437475938
| mem: 1617250})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 376191639
| mem: 1372521})
({cpu: 364148822
| mem: 1332023})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 707178079
| mem: 2627800})
({cpu: 695135262
| mem: 2587302})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1125329447
| mem: 1705718})
({cpu: 1116810371
| mem: 1676206})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 993427090
| mem: 3231404})
({cpu: 969560174
| mem: 3153752})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 996303863
| mem: 3645247})
({cpu: 980606516
| mem: 3592995})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 950013999
| mem: 3438234})
({cpu: 930785700
| mem: 3375164})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1504616983
| mem: 5587760})
({cpu: 1488636425
| mem: 5534476})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 378811524
| mem: 1378023})
({cpu: 366768707
| mem: 1337525})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 592277756
| mem: 2179351})
({cpu: 576711198
| mem: 2127867})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 801800623
| mem: 2986072})
({cpu: 786096065
| mem: 2933988})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 951668059
| mem: 3463982})
({cpu: 931510639
| mem: 3397836})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 376191639
| mem: 1372521})
({cpu: 364148822
| mem: 1332023})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1010959727
| mem: 3605842})
({cpu: 990195341
| mem: 3537544})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 376191639
| mem: 1372521})
({cpu: 364148822
| mem: 1332023})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1343153312
| mem: 4935477})
({cpu: 1327172754
| mem: 4882193})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 886901643
| mem: 3258785})
({cpu: 871197085
| mem: 3206701})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 476405343
| mem: 1693944})
({cpu: 461121996
| mem: 1643492})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 456268520
| mem: 1637185})
({cpu: 435918134
| mem: 1570687})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 467407100
| mem: 1671513})
({cpu: 445642693
| mem: 1601153})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 376191639
| mem: 1372521})
({cpu: 364148822
| mem: 1332023})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1013329942
| mem: 3781344})
({cpu: 997349384
| mem: 3728060})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 376191639
| mem: 1372521})
({cpu: 364148822
| mem: 1332023})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 627104441
| mem: 2302151})
({cpu: 611537883
| mem: 2250667})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1343587687
| mem: 4777361})
({cpu: 1295584428
| mem: 4617367})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1315212580
| mem: 4750287})
({cpu: 1296405492
| mem: 4688849})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 663540927
| mem: 2407789})
({cpu: 647974369
| mem: 2356305})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 378811524
| mem: 1378023})
({cpu: 366768707
| mem: 1337525})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 961600396
| mem: 3534762})
({cpu: 941442976
| mem: 3468616})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 629439025
| mem: 2310343})
({cpu: 613872467
| mem: 2258859})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 855934635
| mem: 3167582})
({cpu: 834489659
| mem: 3096446})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1338046659
| mem: 1869856})
({cpu: 1326011053
| mem: 1829190})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 1671386097
| mem: 5537364})
({cpu: 1458760291
| mem: 4851730})
Loading

0 comments on commit 9ef9ba6

Please sign in to comment.