[M3devel] CM3 release build regression tests not terminating

Jay jay.krell at cornell.edu
Tue Apr 28 18:38:09 CEST 2009


Randy just because everyone else does it poorly does not generally tie your hands.
I said on input, not on output.
  Output does often tie your hands.
Or do they actually have different meanings? That'd be wierd.
The only useful semantic difference I've ever seen is that carriagereturn alone
can be used to implement little spinnies.
Otherwise, all three sequences have identical meaning.
And various code out there does treat them identically, just not necessarily
does one code treat them all the same, you have to at worst find three programs
to find the same treatment.
 

We /can/ implement it, anywhere we have text processing code.
Reading quake files. I think it already does.
  It was just a red herring.
Libraries that return "lines".
You know, one common pattern is on Unix to split on \n and on NT to split on \r\n.
Well, that means the same code deals in one format one platform, one on the other,
and just acts wierdly when presented with the "wrong" format. There's no reason
it can't just act platform independent and treat both formats always correctly.

 
The compiler frontend must do this, based on experience and reasonable expectations.
Most C compilers these days ditto.
 
 
 - Jay










________________________________
> Date: Tue, 28 Apr 2009 11:25:52 -0400
> From: rcoleburn at scires.com
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] CM3 release build regression tests not terminating
>
>
>
>
>
>
>
>>>> Jay jay.krell at cornell.edu> 4/28/2009 5:58 AM>>%204/28/2009%205:58%20AM%20>>>
>
> (aside, philosophy: all text processing code should treat \n, \r, and \r\n in put the same, unless you are writing a terminal driver, then \r has a separate meaning useful for implementing spinners..)
> - Jay
>
> That may be a nice philosophy, but we can't implement it because in practice not everybody adheres to it. I have written extensive text processing code that has to differentiate between these variants in order to properly interface with and interpret I/O from other systems.
>
> --Randy


More information about the M3devel mailing list