[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH] Mostly fix #1604
From: |
felix . winkelmann |
Subject: |
Re: [Chicken-hackers] [PATCH] Mostly fix #1604 |
Date: |
Mon, 20 May 2019 13:55:47 +0200 |
> > 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?
Yes, that danger is indeed not to be ignored.
>
> If the scrutinizer could infer types for functions then I think that
> would be fine. You'd get a warning somewhere.
Interprocedural flow-analysis is hard, we shouldn't underestimate
this. What happens when we declare a type for a toplevel function?
felix
- Re: [Chicken-hackers] [PATCH] Mostly fix #1604, (continued)
Re: [Chicken-hackers] [PATCH] Mostly fix #1604, felix . winkelmann, 2019/05/19
- Re: [Chicken-hackers] [PATCH] Mostly fix #1604, megane, 2019/05/19
- Re: [Chicken-hackers] [PATCH] Mostly fix #1604, Peter Bex, 2019/05/19
- Re: [Chicken-hackers] [PATCH] Mostly fix #1604, felix . winkelmann, 2019/05/20
- Re: [Chicken-hackers] [PATCH] Mostly fix #1604, Peter Bex, 2019/05/20
- Re: [Chicken-hackers] [PATCH] Mostly fix #1604, felix . winkelmann, 2019/05/20
- Re: [Chicken-hackers] [PATCH] Mostly fix #1604, Peter Bex, 2019/05/20
Re: [Chicken-hackers] [PATCH] Mostly fix #1604,
felix . winkelmann <=