On Sun, May 19, 2019 at 10:07:59AM +0300, megane wrote: > > [email protected] writes: > > [...] > > > > Shouldn't the types.db specialization for scheme#= be applied > > here? Or can't it figure out the ffixnum types of the arguments? > > Even though it is slightly dangerous, the scrutinizer _could_ assume > > arguments to numerical primitives are fixnums in fixnum mode... > > That's right, the scrutinizer can't figure out the types. The type of n > for the first scheme#= call is *. The call enforces the type to number. > So the second scheme#= is called with (number fixnum). There's no > specialization for that either. > > Wouldn't that kind of assuming lead to hard to debug bugs?
I think so too. Besides, like I said in the other mail, then we'd still be calling allocating functions because (+ fixnum fixnum) => (or fixnum bignum). In fixnum mode, we'd want to use the overflowing unsafe fixnum ops. Cheers, Peter
signature.asc
Description: PGP signature
_______________________________________________ Chicken-hackers mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/chicken-hackers
