For Programmers: Free Programming Magazines  


Home > Archive > Scheme > May 2005 > flow analysis across modules









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author flow analysis across modules
Pinku Surana

2005-05-07, 8:57 pm

Is there a Scheme implementation that does flow analysis across
separate modules?

If you don't have any information about any procedure not defined in
the imported modules, then all the analysis goes to "top", where it
doesn't know anything. How have others solved this problem? Do you
store a summary of your analysis of imported modules and reuse that?
That's sorta' what Haskell does with it's *.hi auxillary file, which
contains type and strictness info.

Thanks.

Philippe

2005-05-10, 4:00 pm

Pinku Surana wrote:
>Is there a Scheme implementation that does flow analysis across
>separate modules?


I'm working on such an analysis for DrScheme. It's not ready yet :-)

>If you don't have any information about any procedure not defined in
>the imported modules, then all the analysis goes to "top", where it
>doesn't know anything. How have others solved this problem?


In DrScheme you can put contracts on module interfaces. The analysis
can then try to use those contracts instead of analyzing the imported
functions. From the point of view of the analysis doing that
basically turns an imported function into a scheme primitive, in the
sense that the analysis doesn't have to look at the function's code
anymore.

>Do you
>store a summary of your analysis of imported modules and reuse that?
>That's sorta' what Haskell does with it's *.hi auxillary file, which
>contains type and strictness info.


MrSpidey (DrScheme's old analyzer, which hasn't been supported since
the switch from 103 to 200) used to do that. It works to a certain
extend, but keeping the summaries small is a problem.

Philippe

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com