[M3devel] another longint variant
Jay K
jay.krell at cornell.edu
Sat Jan 9 20:33:45 CET 2010
I don't believe that suffices but I can check again.
- Jay
Subject: Re: [M3devel] another longint variant
From: hosking at cs.purdue.edu
Date: Sat, 9 Jan 2010 13:30:55 -0500
CC: m3devel at elegosoft.com
To: jay.krell at cornell.edu
Jay, what are the implications of just having assignability rather than mixed arithmetic? Can you work through that change? My preference right now is to allow assignability (range-checked, of course) but not mixed arithmetic. The simple little patch I sent you for Type.IsAssignable on ordinals should allow you to test things. As far as I can tell, that will simply work...
On 9 Jan 2010, at 05:22, Jay K wrote:
[attached]
In this variant, the compiler has been made
"maximally lenient" and the rd/wr changes are minimized.
Specifically:
compiler allows assignment either way and various math
operations, including NEW array and array subscript.
mixing in FOR loops is missing (FOR i := INTEGER TO LONGINT or LONGINT TO INTEGER)
rd/wr changes outside libm3 are only changing
the signatures of Seek and Length
pretty minimal, and hard to imagine they could be smaller,
though actually they could..well..the need to fix existing
rd/wr could be eliminated/delayed
rd/wr could introduce SeekL, LengthL which by default
call Seek/Length, and then rd/wr could gradually convert,
and not gain 4GB capability until then
no VAL or ORD needed
some rd/wr implementations might be artificially limited
to 4G simply because they don't chane some INTEGER to LONGINT;
"anything compiles"
some of the compiler changes are probably slightly off or incomplete
including a need to insert the checks for LONGINT => INTEGER
<dif3.txt>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20100109/992ac302/attachment-0002.html>
More information about the M3devel
mailing list