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

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Chicken-hackers mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to