<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hi all:<br>For sure, do you mean Top in type sense? RT0 is the bottom of the world, but type here are "bottom of the world"<br>http://modula3.elegosoft.com/cm3/doc/help/gen_html/m3core/src/runtime/common/RT0.i3.html<br><br>Thanks in advance<br><br>--- El <b>mié, 15/8/12, Hendrik Boom <i><hendrik@topoi.pooq.com></i></b> escribió:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>De: Hendrik Boom <hendrik@topoi.pooq.com><br>Asunto: Re: [M3devel] reference to globals in globals?<br>Para: m3devel@elegosoft.com<br>Fecha: miércoles, 15 de agosto, 2012 19:55<br><br><div class="plainMail">On Wed, Aug 15, 2012 at 09:51:41AM -0500, Rodney M. Bates wrote:<br>> <br>> <br>> On 08/14/2012 10:04 PM, Jay K wrote:<br>> ><br>> >Heck, even if these weren't global, is it that
 unreasonble,<br>> >from the programmer's point of view, for the language/compiler<br>> >to do some pointer escape analysis and let me take the address<br>> >of a local, as long as I don't store it somewhere that outlives<br>> >the local?<br>> ><br>> <br>> This is ultimately an undecidable problem and even conservative<br>> approximations of reasonable sophistication are far too involved<br>> for a language to require of every compiler.<br><br>Not to mention the obscurityof the language definition.<br><br>But isn't there something like that with the addresses of top-level <br>proocedures?  the ones whose environments are completely static?<br>Or am I thinking of another type-safe language?  Or am I thinking of<br>assigning the procedures themselves? <br><br>-- hendrik<br><br>> Of course, safe languages occasionally make you unnecessarily write a bit more<br>> code to do it the safe way. 
 E.g., the famous fake pointer to the root of a<br>> linked list example.  <br><br>You mean something like (in C with probable errors)<br><br>  list **p, *q;<br>  make q point to some linked list<br><br>  for ( p = &q; *p != NIL; p = &((*p)->next))<br>  {<br>   And here you can easily delete elements by *p = (*p) -> next<br>  }<br><br>This can be done prefectly type-safe in languages that allow<br><br>   REF REF list<br><br>Or is there some other fake pointer trick you're talking about?<br><br>-- hendrik<br></div></blockquote></td></tr></table>