<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><font face="Calibri, sans-serif" size="3">This is one reasonable way to fix it:</font><div style="font-family: Calibri, sans-serif; font-size: 12pt; "><br></div><div><div><font face="Calibri, sans-serif">Index: M3CG.i3</font></div><div><font face="Calibri, sans-serif">===================================================================</font></div><div><font face="Calibri, sans-serif">RCS file: /usr/cvs/cm3/m3-sys/m3middle/src/M3CG.i3,v</font></div><div><font face="Calibri, sans-serif">retrieving revision 1.10</font></div><div><font face="Calibri, sans-serif">diff -u -r1.10 M3CG.i3</font></div><div><font face="Calibri, sans-serif">--- M3CG.i3<span class="Apple-tab-span" style="white-space:pre">   </span>6 Sep 2012 02:03:06 -0000<span class="Apple-tab-span" style="white-space:pre">   </span>1.10</font></div><div><font face="Calibri, sans-serif">+++ M3CG.i3<span class="Apple-tab-span" style="white-space:pre">        </span>26 Oct 2012 09:30:31 -0000</font></div><div><font face="Calibri, sans-serif">@@ -98,9 +98,9 @@</font></div><div><font face="Calibri, sans-serif">   Always : Frequency = LAST (Frequency);</font></div><div><font face="Calibri, sans-serif"> </font></div><div><font face="Calibri, sans-serif"> TYPE</font></div><div><font face="Calibri, sans-serif">-  Int32 = [-16_7fffffff-1 .. 16_7fffffff];</font></div><div><font face="Calibri, sans-serif">-  TypeUID = BITS 32 FOR Int32;</font></div><div><font face="Calibri, sans-serif">+  TypeUID = [-16_7fffffff-1 .. 16_7fffffff];</font></div><div><font face="Calibri, sans-serif">   (* a 32-bit unique id (fingerprint) for each type.  *)</font></div><div><font face="Calibri, sans-serif">+  assert_TypeUID_fits_in_32bits = BITS 32 FOR TypeUID;</font></div><div><font face="Calibri, sans-serif"> </font></div><div><font face="Calibri, sans-serif"> TYPE</font></div><div><font face="Calibri, sans-serif">   Label = INTEGER;</font></div><div><font face="Calibri, sans-serif">Index: M3CG_MultiPass.i3</font></div><div style="font-family: Calibri, sans-serif; font-size: 12pt; "><br></div><div style="font-family: Calibri, sans-serif; font-size: 12pt; "><br></div><div style="font-family: Calibri, sans-serif; font-size: 12pt; "> - Jay</div><br><br><div style="font-family: Calibri, sans-serif; font-size: 12pt; "><div id="SkyDrivePlaceholder"></div><hr id="stopSpelling">From: jay.krell@cornell.edu<br>To: m3devel@elegosoft.com<br>Date: Fri, 26 Oct 2012 09:27:36 +0000<br>Subject: [M3devel] unable to put M3CG.TypeUID into a record<br><br>

<style><!--
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:12pt;font-family:Calibri;}

--></style>
<div dir="ltr"><div><font face="Calibri, sans-serif">I still really don't like how M3CG.TypeUID is defined.</font></div><div><font face="Calibri, sans-serif"><br></font></div><div><font face="Calibri, sans-serif">Asserting that a type fits in 32bits</font></div><div><font face="Calibri, sans-serif">should not preclude putting it into a RECORD.</font></div><div><font face="Calibri, sans-serif"><br></font></div><div><font face="Calibri, sans-serif">Currently you cannot put M3CG.TypeUID into a record.</font></div><div><font face="Calibri, sans-serif"><br></font></div><div><font face="Calibri, sans-serif">The following does not work:</font></div><div><font face="Calibri, sans-serif"><br></font></div><div><font face="Calibri, sans-serif">RECORD whatever = typeid: M3CG.TypeUID; END;</font></div><div><font face="Calibri, sans-serif"><br></font></div><div><font face="Calibri, sans-serif">That seems really absurd to me.</font></div><div><font face="Calibri, sans-serif"><br></font></div><div><font face="Calibri, sans-serif"> - Jay</font></div><br><br><div style="font-family:Calibri, sans-serif;font-size:12pt"><div id="ecxSkyDrivePlaceholder"></div>> Date: Fri, 26 Oct 2012 11:22:55 +0000<br>> To: m3commit@elegosoft.com<br>> From: jkrell@elego.de<br>> Subject: [M3commit] CVS Update: cm3<br>> <br>> CVSROOT:      /usr/cvs<br>> Changes by:      jkrell@birch.   12/10/26 11:22:55<br>> <br>> Modified files:<br>>    cm3/m3-sys/m3back/src/: M3C.m3 <br>> <br>> Log message:<br>>         continue to hack around bogus packing of M3CG.TypeUID<br>> <br></div>                                        </div></div></div>                                    </div></body>
</html>