<html><head><base href="x-msg://1273/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Thanks.  I needed that refresher just to remember what your design space had been.</div><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div><span class="Apple-style-span" style="font-size: medium;"><font class="Apple-style-span" color="#0000FF" face="'Gill Sans'"><br></font></span></div></span></span></span></span></span></span></span></span></div></span></span></div><div><div>On 10 Jan 2010, at 15:45, Jay K wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="hmmessage" style="font-size: 10pt; font-family: Verdana; ">I've sent various patches.<br>I believe the first had no compiler changes and built the whole tree.<br>The second had maximum compiler changes (except for FOR) and built the whole tree.<br>The third had only assignability and built just libm3.<br>  To build the whole tree you'd pretty much add all of the first diff. A few lines<br>   could be saved but not much. Assignability doesn't buy very much.<br>   I can do that if you want: assignability and build the whole tree.<br>   But we do know just about what it looks like.<br> <br> - Jay<br><br><br> <br><hr id="stopSpelling">From:<span class="Apple-converted-space"> </span><a href="mailto:hosking@cs.purdue.edu">hosking@cs.purdue.edu</a><br>Date: Sun, 10 Jan 2010 09:30:00 -0500<br>To:<span class="Apple-converted-space"> </span><a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a><br>CC:<span class="Apple-converted-space"> </span><a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br>Subject: Re: [M3devel] what to do about file sizes being 32bits?<br><br>I still want to see the patch...<br><div><br class="ecxwebkit-block-placeholder"></div><div><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><div style="word-wrap: break-word; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><div><font class="ecxApple-style-span" color="#0000ff"><font class="ecxApple-style-span" face="Gill Sans"><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); ">Antony Hosking</span></span></font></font><font class="ecxApple-style-span" face="Gill Sans"><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "><span class="ecxApple-converted-space"> </span>|<span class="ecxApple-converted-space"> </span></span></span><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; ">Associate Professor</span></span><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "> | Computer Science | Purdue University</span></span></font></div><div><font class="ecxApple-style-span" face="GillSans-Light"><span class="ecxApple-style-span" style="font-family: GillSans-Light; ">305 N. University Street | West Lafayette | IN 47907 | USA</span></font></div><div><font class="ecxApple-style-span" color="#0000ff" face="Gill Sans"><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); ">Office</span></span></font><font class="ecxApple-style-span" face="GillSans-Light"><span class="ecxApple-style-span" style="font-family: GillSans-Light; "><span class="ecxApple-style-span" style="font-family: GillSans-Light; "> <skype:span id="softomate_v3_highlight_0" class="skype_v3_tb_injection" title="Call this phone number in United States of America with Skype: +17654946001" type=".flex" skypeid="0" skypeaction="call" nof="" isfax="" freecall="" fwidth=".w16" mode=".compat" path="file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/" durex2="%DADDYHEIGHT%" durex="%DADDYWIDTH%" context="+1 765 494 6001"><skype:span id="skype_v3_tb_droppart_0" class="skype_v3_tb_imgA" title="Skype actions" skypeid="0" skypeaction="drop" skypesms="0" style="background-image: url(file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/inactive_a.compat.flex.w16.gif); "><skype:span id="skype_v3_tb_img_f0" class="skype_v3_tb_imgFlag" style="background-image: url(file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/famfamfam/US.gif); "></skype:span></skype:span><skype:span id="skype_v3_tb_img_s0" class="skype_v3_tb_imgS"></skype:span><skype:span id="skype_v3_tb_text0" class="skype_v3_tb_injectionIn"><skype:span id="skype_v3_tb_innerText0" class="skype_v3_tb_innerText"> +1 765 494 6001 </skype:span></skype:span><skype:span id="skype_v3_tb_img_r0" class="skype_v3_tb_imgR"></skype:span></skype:span><span class="Apple-converted-space"> </span><skype:span id="softomate_v3_print_0" class="skype_v3_tb_injection_print" context="">+1 765 494 6001</skype:span><span class="Apple-converted-space"> </span>|<span class="ecxApple-converted-space"> </span></span></span></font><font class="ecxApple-style-span" color="#0000ff" face="Gill Sans"><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); ">Mobile</span></span></font><font class="ecxApple-style-span" face="GillSans-Light"><span class="ecxApple-style-span" style="font-family: GillSans-Light; "><span class="ecxApple-style-span" style="font-family: GillSans-Light; "><span class="ecxApple-converted-space"> </span><skype:span id="softomate_v3_highlight_1" class="skype_v3_tb_injection" title="Call this phone number in United States of America with Skype: +17654275484" type=".flex" skypeid="1" skypeaction="call" nof="" isfax="" freecall="" fwidth=".w16" mode=".compat" path="file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/" durex2="%DADDYHEIGHT%" durex="%DADDYWIDTH%" context="+1 765 427 5484"><skype:span id="skype_v3_tb_droppart_1" class="skype_v3_tb_imgA" title="Skype actions" skypeid="1" skypeaction="drop" skypesms="1" style="background-image: url(file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/inactive_a.compat.flex.w16.gif); "><skype:span id="skype_v3_tb_img_f1" class="skype_v3_tb_imgFlag" style="background-image: url(file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/famfamfam/US.gif); "></skype:span></skype:span><skype:span id="skype_v3_tb_img_s1" class="skype_v3_tb_imgS"></skype:span><skype:span id="skype_v3_tb_text1" class="skype_v3_tb_injectionIn"><skype:span id="skype_v3_tb_innerText1" class="skype_v3_tb_innerText"> +1 765 427 5484 </skype:span></skype:span><skype:span id="skype_v3_tb_img_r1" class="skype_v3_tb_imgR"></skype:span></skype:span><span class="Apple-converted-space"> </span><skype:span id="softomate_v3_print_1" class="skype_v3_tb_injection_print" context="">+1 765 427 5484</skype:span></span></span></font></div><div><font class="ecxApple-style-span" face="GillSans-Light"><br class="ecxkhtml-block-placeholder"></font></div></span></span></span></span></span></span></span><br class="ecxApple-interchange-newline"></span></div></span></span><br class="ecxApple-interchange-newline"></div><br><div><div>On 10 Jan 2010, at 04:10, Jay K wrote:</div><br class="ecxApple-interchange-newline"><blockquote><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal medium/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><div class="ecxhmmessage" style="font-family: Verdana; font-size: 10pt; ">Just a note that the version with ORD and VAL sprinkled everywhere<br>is compatible with every proposal, *except* removing LONGINT altogether.<br>It is ugly and tedious, but it does seem to work.<br> <br>Can we go with it??<br> <br>Maybe "clean it up" afterward, if the compiler allows more?<br>You basically just search for "LONGINT" or "VAL" across the tree...<br> <br> <br> - Jay<br> <br><hr id="ecxstopSpelling">From:<span class="ecxApple-converted-space"> </span><a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a><br>To:<span class="ecxApple-converted-space"> </span><a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br>Subject: RE: [M3devel] what to do about file sizes being 32bits?<br>Date: Thu, 7 Jan 2010 11:22:37 +0000<br><br>I'm working on this..<br>Attached is what I have so far.<br>Posix needs work.<br>Most code continues to not work for files >4GB on 32bit, but it is a start.<br>It seems to me I shouldn't have o use VAL(i, LONGINT) to convert an INTEGER to a LONGINT, as all INTEGER values fit.<br>Similarly I should be able to compare a LONGINT to 0 directly, instead of 0L.<br>I'm not sure if the ToProc/FromProc stuff should use INTEGER/CARDINAL or LONGINT.<br><br>This gets as far as:<br><br>== package C:\dev2\cm3.2\m3-obliq\obliqrt ==<br><br> +++ C:\cm3\bin\cm3.exe  -build -DROOT=C:/dev2/cm3.2 -DCM3_VERSION_TEXT=d5.8.2 -<br>DCM3_VERSION_NUMBER=050802 -DCM3_LAST_CHANGED=2009-07-15 +++<br>--- building in NT386 ---<br><br>ignoring ..\src\m3overrides<br><br>\cm3\bin\stubgen -v1 -sno ObValue.RemVar   -T.M3IMPTAB<br>m3cfe: (Error) failed to find source or AST for interface 'WordRep'<br>"\cm3\pkg\m3core\src/word\GenWord.ig[\cm3\pkg\m3core\src/word\Word.i3]": semanti<br>c analysis suppressed due to import errors<br>"\cm3\pkg\m3core\src/text\Text.i3", line 16,0: semantic analysis suppressed due<br>to import errors<br>m3cfe: (Error) failed to find source or AST for interface 'LongRep'<br>"\cm3\pkg\m3core\src/word\GenWord.ig[\cm3\pkg\m3core\src/word\Long.i3]": semanti<br>c analysis suppressed due to import errors<br>"\cm3\pkg\m3core\src/float/IEEE\Real.i3", line 11,0: semantic analysis suppresse<br>d due to import errors<br>"\cm3\pkg\m3core\src/float/IEEE\LongReal.i3", line 10,0: semantic analysis suppr<br><br><br>Which is probably some other problem?<br><br><br> - Jay<br><br><br><hr id="ecxecxstopSpelling">From:<span class="ecxApple-converted-space"> </span><a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a><br>To:<span class="ecxApple-converted-space"> </span><a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br>Date: Thu, 7 Jan 2010 09:47:07 +0000<br>Subject: Re: [M3devel] what to do about file sizes being 32bits?<br><br>I think I can fix everything in the cm3 tree if size is changed to LONGINT.<br>Including Index(), Length(), Seek().<br>It involves *many* uses of VAL and ORD, and indeed, it would help if:<br><br><br>INC(longint, integer) was legal, which seems perfectly ok.<br>longint := integer ditto<br><br><br>Most of the toplevel users will end up throwing in ORD, as they<br>require files to fit in memory/addressspace.<br><br><br>There is still the matter of this will break too much code out there.<br><br><br> - Jay<br><br><hr id="ecxecxecxstopSpelling">From:<span class="ecxApple-converted-space"> </span><a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a><br>To:<span class="ecxApple-converted-space"> </span><a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br>Date: Thu, 7 Jan 2010 06:59:31 +0000<br>Subject: [M3devel] what to do about file sizes being 32bits?<br><br>File.i3:<br><br><br>  Status = RECORD<br>    type: Type;<br>    modificationTime: Time.T;<br>    size: CARDINAL (* oops... *)<br>  END;<br><br><br>What to do?<br>[0.. higher than 7FFFFFFF] doesn't "just work".<br>   higher than 7FFFFFFFF is not legal on 32bit, unless you put "L" on the end,<br>   which presumably has some relationship to turning it into a LONGINT, which<br>   causes users to fail to compile<br><br><br>LONGINT doesn't "just work"<br>   causes users to fail to compile<br><br><br>stale imports -> compiling ProcessPosixCommon.i3<br>stale imports -> compiling ProcessPosixCommon.m3<br>stale imports -> compiling ProcessPosix.m3<br>stale imports -> compiling FileRd.i3<br>missing version stamps -> compiling FileRd.m3<br>"../src/rw/FileRd.m3", line 73: incompatible argument types: MIN<br>"../src/rw/FileRd.m3", line 140: types are not assignable<br>2 errors encountered<br>stale imports -> compiling FileWr.i3<br>missing version stamps -> compiling FileWr.m3<br>"../src/rw/FileWr.m3", line 92: incompatible argument types: MIN<br>"../src/rw/FileWr.m3", line 108: incompatible argument types: MAX<br>2 errors encountered<br>st<br><br><br>Change it to LONGINT, fix all the callers, and hope the damage isn't too great outside the cm3 tree?<br><br><br>Change it to LONGINT only for 32bit platforms, somehow author the cm3 tree to work either way,<br>hope the damage isn't too great outside the cm3 tree?<br><br><br>Change it to LONGREAL so that it works immediately on NT386.<br>  Same issues as above, breaks existing users.<br><br><br>Maybe relax the language some, so that e.g.<br>a:INTEGER;<br>b:LONGINT;<br><br>b := a;<br><br>just works, see if it helps make more code compile with the change?<br><br>a := b is problematic of course, but what is wrong with b := a?<br><br> - Jay<br><br></div></span></blockquote></div><br></div></span><br class="Apple-interchange-newline"></blockquote></div><br></body></html>