chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] [PATCH] sequence type corrections and enhancements


From: Felix
Subject: Re: [Chicken-hackers] [PATCH] sequence type corrections and enhancements
Date: Wed, 14 Sep 2011 00:45:42 +0200 (CEST)

> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]