<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Indeed v4.9.4 adds dotted lines in the dependency graph.  The meaning of the lines is:<div class=""><br class=""></div><div class="">- solid line from A to B: procedure A contains a call to procedure B</div><div class="">- dotted line from A to B: procedure A contains a read or write of variable B</div><div class=""><br class=""></div><div class="">Sometimes there will be both a solid and dotted line from A to B.  This happens often when speculative inlining is done (to respect R5RS semantics).  For example:</div><div class=""><br class=""></div><div class="">(define (f x) (sin x))</div><div class=""><br class=""></div><div class="">will be compiled as:</div><div class=""><br class=""></div><div class="">(define f<br class="">  (lambda (x)<br class="">    (if (and ('#<procedure #2 ##eq?> sin '#<procedure #3 sin>)<br class="">             ('#<procedure #4 ##flonum?> x))<br class="">        ('#<procedure #5 ##flsin> x)<br class="">        (sin x))))<br class=""><br class=""></div><div class="">Procedure f contains a call to sin and a variable reference of sin, so there will be a solid and dotted line between f and sin in the dependency graph:</div><div class=""><br class=""></div><div class=""><img apple-inline="yes" id="EB81ECA9-E450-40ED-B561-CB6685FC07D4" width="161" height="302" src="cid:368321A6-CE14-4EBA-A0A9-AC00A0C15F6A" class=""></div><div class=""><br class=""></div><div class="">Moreover, sin is in black to indicate that the file does not contain a definition of sin.  It can help identify undefined procedures/variables, or procedures that should be imported from other modules.</div><div class=""><div class=""><br class="webkit-block-placeholder"></div><div class="">Marc<br class=""><br class=""><br class=""></div><br class=""><blockquote type="cite" class="">On Jan 4, 2022, at 10:15 AM, Sven Hartrumpf <<a href="mailto:hartrumpf@gmx.net" class="">hartrumpf@gmx.net</a>> wrote:<br class=""><br class="">Investigating the original .dg files showed that the format was extended<br class="">so that my (not too clever) postprocessor missed some pieces of information.<br class="">For example, some dependency arcs are now annotated with "[style = dotted]".<br class=""><br class="">After fixing this in my postprocessor, the reachability analyses are identical<br class="">when using Gambit 4.9.3 and 4.9.4.<br class=""><br class="">Ciao<br class="">Sven<br class=""><br class="">_______________________________________________<br class="">Gambit-list mailing list<br class=""><a href="mailto:Gambit-list@iro.umontreal.ca" class="">Gambit-list@iro.umontreal.ca</a><br class="">https://mailman.iro.umontreal.ca/cgi-bin/mailman/listinfo/gambit-list<br class=""><br class=""></blockquote><br class=""></div></body></html>