alexhelder
04/09/2026, 1:43 AMJames Richardson
04/09/2026, 6:12 AMloke
04/09/2026, 1:25 PMloke
04/09/2026, 1:25 PMArjan van Wieringen
04/09/2026, 7:02 PMloke
04/11/2026, 1:20 PMloke
04/11/2026, 1:22 PMloke
04/11/2026, 1:22 PMloke
04/11/2026, 1:27 PMLongExpressionOverflow, pull the correct result out of the exception and then perform the operation using bigints and rethrow a new LongExceptionOverflow with the result. Imagine what happens if one were to forget this, not the caller of this function would still get that exception, but the content would be wrong, and there appears to be no way to get the type system to warn me about this.Arjan van Wieringen
04/11/2026, 3:47 PMCLOVIS
04/12/2026, 5:17 PMWrapping the result in an object has a 30% or so performance hit, so I use an exception when the result overflows 64 bits (which is extremely rare). The caller is responsible for catching this exception, extracting the BigInt result, and then take an alternative path to compute the result of the result using bigint arithmetic.Take a look at #C5UPMM0A0’s
Raise DSL. It requires context parameters, but it looks like they will be stable in a few months. It has the same usability than errors-as-values but doesn't use wrapping, so there is no performance impact on the happy-path.loke
04/13/2026, 5:03 AMloke
04/13/2026, 5:40 AMCLOVIS
04/13/2026, 7:00 AMCLOVIS
04/13/2026, 7:01 AM