<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>You guys REALLY don't like C, eh?<BR>
It's not a hack, any more so than the tracing that was there, and the existing tracing could be not turned on until "much" later in startup, and the debuggers have no type information, even gdb and I think m3gdb just seem to have void* everywhere, true, I could just dump the memory.<BR>
 <BR>
Either way.<BR>
 <BR>
I have a contrary view, in that if something is particularly gnarly such that someone had to write printing code, someone might need it in the future, maybe better to leave it available. However, on the other hand..I write this sort of printing all the time and leaving it all in would really blow up the size of the code base, even while most stuff usually works.<BR>
In this case, printing code has been left there all along, an entire module dedicated to reduce-depending printing. Making it work much better, drastically cutting the dependency, seems reasonable. Actually RTIO should probably be rewritten in C instead of lumping the logging into RTLinker. It is a hack in that respect. I found it kind of disturbing how much RTIO reinvents, integer formating, buffering... (and yes I realize I have both such features under my code in stdio)<BR>
 <BR>
Anyway, I'm not wedded to it.<BR>
I wish it were easier to interface C with Modula-3. The type declarations I had to clone should be output by the Modula-3 compiler, and the names I chose should be either the default or easier to get, since they are the names used for Modula-3 code...<BR>
 <BR>
(I'm not going to jump for a fork. My CVS skills stink. I'll just leave the files uncommited.)<BR>
 <BR>
 - Jay<BR><BR><BR><BR>

<HR id=stopSpelling>
<BR>
> From: hosking@cs.purdue.edu<BR>> Date: Sun, 20 Jan 2008 12:02:32 -0500<BR>> To: jkrell@elego.de<BR>> CC: m3devel@elegosoft.com; m3commit@elegosoft.com<BR>> Subject: Re: [M3devel] [M3commit] CVS Update: cm3<BR>> <BR>> Jay,<BR>> <BR>> I am particularly disturbed by these changes you just committed <BR>> because of the nasty reliance they impose on C in this part of the <BR>> run-time library. Part of the beauty of M3 is that its compiler and <BR>> libraries are almost entirely programmed in Modula-3. Your change <BR>> here has been made to satisfy a need to debug a severely broken run- <BR>> time system. Better in such situations to use a standard debugger <BR>> rather than pollute the Modula-3 code with nasty reliance on C. If <BR>> you need to use such hacks in your debugging please do so in your <BR>> privately checked out working directories rather than imposing them <BR>> on the rest of us by checking into the main tree. If you need a <BR>> debugging source tree in which to play then there is ample provision <BR>> using CVS to fork a development branch that is off the main trunk. <BR>> Shall I undo these hacks or will you?<BR>> <BR>> It is important in a collaborative effort such as this to make sure <BR>> that we all play nicely in the shared CVS space. In this case I <BR>> think you have regressed the code base by adding these C-based hacks.<BR>> <BR>> Best,<BR>> <BR>> -- Tony<BR>> <BR>> On Jan 20, 2008, at 12:01 PM, Jay Krell wrote:<BR>> <BR>> > CVSROOT: /usr/cvs<BR>> > Changes by: jkrell@birch. 08/01/20 12:01:09<BR>> ><BR>> > Modified files:<BR>> > cm3/m3-libs/m3core/src/runtime/common/: RTLinker.i3 RTLinker.m3<BR>> > m3makefile<BR>> > Added files:<BR>> > cm3/m3-libs/m3core/src/runtime/common/: RTLinkerC.c<BR>> ><BR>> > Log message:<BR>> > allow RTLinker's tracing to work when things are more broken<BR>> > the default behavior is unchanged, and the behavior with <BR>> > @M3tracelinker<BR>> > is preserved<BR>> > a change in behavior requires modifying RTLinkerC.c and rebuilding<BR>> > this also enables more verbose tracing<BR>> <BR><BR><br /><hr />Need to know the score, the latest news, or you need your HotmailŪ-get your "fix". <a href='http://www.msnmobilefix.com/Default.aspx' target='_new'>Check it out.</a></body>
</html>