> 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