<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-15">
<META content="MSHTML 6.00.6000.16850" name=GENERATOR></HEAD>
<BODY style="MARGIN: 4px 4px 1px">
<DIV>Jay:</DIV>
<DIV> </DIV>
<DIV>I guess this topic is just a pet peeve of mine.</DIV>
<DIV> </DIV>
<DIV>We tout Modula-3 as a systems programming language and that it has all these great features that make it superior to languages that lack them, yet when we "don't practice what we preach" and use another language it weakens the argument.  </DIV>
<DIV> </DIV>
<DIV>IMO, using C instead of Modula-3 is kind of like saying that we love baseball, but we have to use soccer to play baseball the right way.  It just doesn't add up.</DIV>
<DIV> </DIV>
<DIV>I think we should always use Modula-3 in developing and enhancing the CM3 system.  </DIV>
<DIV> </DIV>
<DIV>I must also disagree with you and state that for a TRUE Modula-3 fan, C is indeed "nasty."</DIV>
<DIV> </DIV>
<DIV>All that said, I haven't looked at the code in question here.  I simply commented on the idea of replacing M3 code with C code.</DIV>
<DIV> </DIV>
<DIV>Regards,</DIV>
<DIV>Randy<BR><BR>>>> <jay.krell@cornell.edu> 7/21/2009 1:53 PM >>><BR>I might have left it able to be called safe. Honestly I look more for  <BR>human verifiable safety and correctness and it lacked those before and  <BR>now does not. If that coincides with machine verifable safety, great.  <BR>Either way you need C here for correctness and safety. It isn't  <BR>'nasty'. Not using C here would be nasty. I think you have it  <BR>backwards. UNLESS the sizes and constants here are well known but  <BR>reading docs quickly I didn't see that. Unsafe does not imply not  <BR>portable.<BR><BR>  - Jay (phone)<BR><BR>On Jul 21, 2009, at 9:03 AM, Tony Hosking <hosking@cs.purdue.edu> wrote:<BR><BR>> Hear, hear!<BR>><BR>><BR>> Sent from my iPhone<BR>><BR>> On Jul 21, 2009, at 11:17 AM, "Randy Coleburn"  <BR>> <rcoleburn@scires.com> wrote:<BR>><BR>>> Granted, I see that Term.m3 is an UNSAFE module, so that by  <BR>>> definition means it is not portable.<BR>>> Why though do we want to replace it by nasty C code where non- <BR>>> portable stuff can be easily hidden?  This is Modula-3.  Why not  <BR>>> fix the Modula-3 code so that it doesn't have to be UNSAFE?  (My 2  <BR>>> cents.)<BR>>> --Randy<BR>>><BR>>> >>> Jay Krell <jkrell@elego.de> 7/21/2009 11:55 AM >>><BR>>> CVSROOT:/usr/cvs<BR>>> Changes by:jkrell@birch.09/07/21 11:55:36<BR>>><BR>>> Added files:<BR>>> cm3/caltech-parser/term/src/: TermC.c<BR>>><BR>>> Log message:<BR>>> initial copy of dangerous non portable Term.m3 to rewrite portably  <BR>>> and have it do nothing silently on Win32 which should suffice, or  <BR>>> if not, can probably be done better, specifically the MakeRaw  <BR>>> function<BR>>><BR>>><BR>><BR><BR></DIV></BODY></HTML>