chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] [PATCH] Flow-analysis enhancement for assigned var


From: Peter Bex
Subject: Re: [Chicken-hackers] [PATCH] Flow-analysis enhancement for assigned variables
Date: Sat, 28 Jan 2012 15:53:03 +0100
User-agent: Mutt/1.4.2.3i

On Mon, Jan 23, 2012 at 06:02:04AM +0100, Felix wrote:
> Hello!
> 
> The attached patch adds slight improvements to the flow analysis pass
> done by the scrutinizer:
> 
> 1) Variables that are assigned now retain that type-information unless
>    they are not captured (previously all assigned variables where
>    assumed to be of unknown type), this is still control-flow
>    sensitive, so it /should/ do the right thing with respect to
>    conditionals

I'm a bit unsure about this first change because I still don't totally
understand the scrutinizer, but with your explanation of why my other
patch was incorrect, I'm now more confident that this is correct.

> 2) Matching of complex list/pair types has been improved by
>    "canonicalizing" such types into a form more suitable for
>    type-matching (type-analysis of list/pair types turns out to be
>    rather hairy, because "list" covers a rather broad selection of
>    possible values and the same type can have many different
>    representations)

This really simplifies the already really tricky code.
I think I twice started typing a mail about how I suspected something
was wrong but then figured out that it wasn't, but was in fact really
clever elimination of cases already checked earlier.

I've signed off and pushed this set of changes.  Thanks!

Cheers,
Peter
-- 
http://sjamaan.ath.cx
--
"The process of preparing programs for a digital computer
 is especially attractive, not only because it can be economically
 and scientifically rewarding, but also because it can be an aesthetic
 experience much like composing poetry or music."
                                                        -- Donald Knuth



reply via email to

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