> I'm trying to get some basic understanding of how the scrutinizer works,
> but I can't get it to output the debugging info.
> I run csc on a test program with -:D but that doesn't seem to trigger
> the output (though AFAIK that should set fudge factor 13), and I also
> used DEBUGBUILD=1 while building Chicken.

If you pass "-:d" directly to the "chicken" program, does that produce 
output?

> 
>> So "(list T)" and "(vector T)" have been renamed to "(list-of T)" and
>> "(vector-of T)" (which is compatible to the type-syntax of some other
>> obscure Scheme implementation). "(list T ...)"/"(vector T ...)" now
>> specify lists/vectors of fixed length with elements of the given
>> types.
> 
> Here's an idea: Wouldn't it be useful to also have a way to encode the
> length of the list, when it is known?  For example, when using MAP, if
> you know the length of the input list you also know the length of the
> output list.  Then later, when LENGTH is called, you can just return
> the known length of that list instead of walking it.
> The scrutinizer can also give a warning for other procedures that
> require a list of at least n items when passed a list of a different
> length.
> 
> I don't know if there are enough other such procedures to make this
> really a big performance boost, though.

I'm afraid the complexity this requires exceeds the gain. Compile-time
range checking is nice, but would only catch the trivial cases.


cheers,
felix

_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to