<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Here is the stuff I was talking about:<BR>
<BR>
<A href="http://modula3.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/float/Common/">http://modula3.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/float/Common/</A><BR>
<BR>
This stuff is "standard" and in the green book.<BR>
Surprising that both names occur here, float and real.<BR>
<BR>
You can see your example sort of proves my point.<BR>
Imagine if there was no case sensitivity.<BR>
Or if you aren't keen on identifiers varying only in case.<BR>
The below needs to setup a parallel set of names for "wrapper types", or WrapperModule.T.<BR>
Changing "Float" to "Real" or vice versa can help.<BR>
Though, now that I'm saying it, it feels a bit sleazy.<BR>Maybe better to invent a prefix or suffix.<BR>
IntegerValue, RealValue, etc.<BR>
<BR>
(That reminds me, I've seen "reel" used in a similar fashion.)<BR>
You know, using homonyms -- ea vs. ee, y for long i, etc.<BR>
tipe, type <BR>
runtime, runtyme <BR>
<BR>
- Jay<BR><BR><BR>> To: jay.krell@cornell.edu<BR>> Date: Sun, 12 Apr 2009 15:22:23 -0700<BR>> From: mika@async.caltech.edu<BR>> CC: m3devel@elegosoft.com<BR>> Subject: Re: [M3devel] quick question for the Modula-3 ether... LONGFLOAT??<BR>> <BR>> <BR>> It seems a bit more common a term than I would have thought from<BR>> someone's making a mistake.<BR>> <BR>> I am talking about things like this. In the stubgen sources, there are<BR>> two interfaces: Value.i3 and Type.i3.<BR>> <BR>> Not the only place I've seen it in Modula-3.<BR>> <BR>> Value.i3 has:<BR>> <BR>> TYPE <BR>> T <: ROOT;<BR>> (* Ordinal | Float | LongFloat | Extended | ArrayOrRecord | Set | <BR>> Text | Null *)<BR>> <BR>> Ordinal = T OBJECT ord: INTEGER END;<BR>> (* ORD(the value) *)<BR>> <BR>> Float = T OBJECT val: REAL END; (* XXX *)<BR>> <BR>> LongFloat = T OBJECT val: LONGREAL END; (* XXX *)<BR>> <BR>> Extended = T OBJECT val: EXTENDED END;<BR>> <BR>> ...<BR>> <BR>> Type.i3 has:<BR>> <BR>> TYPE<BR>> T <: OBJECT name: Qid; visited := FALSE; brandsOK := TRUE END;<BR>> <BR>> (* Ordinal | Real | LongReal | Extended | Reference | Array <BR>> | Packed | Record | Set | Procedure *)<BR>> <BR>> Ordinal = T BRANDED OBJECT END; (* Enumeration | Subrange *)<BR>> <BR>> (* ... *)<BR>> <BR>> Real = T BRANDED OBJECT END; (* YYY *)<BR>> <BR>> LongReal = T BRANDED OBJECT END; (* YYY *)<BR>> <BR>> Extended = T BRANDED OBJECT END;<BR>> <BR>> ...<BR>> <BR>> Is there a reason or is this just inconsistent crud from before the<BR>> glaciers came thru?<BR>> <BR>> Mika<BR>> <BR>> <BR>> Jay writes:<BR>> >--_eaf98d33-2bbc-4e5b-8afc-bc1f32079c51_<BR>> >Content-Type: text/plain; charset="iso-8859-1"<BR>> >Content-Transfer-Encoding: quoted-printable<BR>> ><BR>> ><BR>> >1) I'm sure it is a natural term to all the other programmers=2C easy mista=<BR>> >ke to make.<BR>> ><BR>> >=20<BR>> ><BR>> >2) There in fact this natural need to come up with alternate names.<BR>> ><BR>> >You know=2C if you read the compiler and runtime source=2C you see things c=<BR>> >alled Type and/or Tipe=2C not just Type=2C because Type (or at least TYPE) =<BR>> >is already a reserved word if you write "metacode" dealing with types=2C yo=<BR>> >u can't use that name.<BR>> ><BR>> >=20<BR>> ><BR>> >In that vein there are some public m3core modules for dealing with floats/r=<BR>> >eals/whatever and they might use names like this.<BR>> ><BR>> >=20<BR>> ><BR>> > - Jay<BR>> ><BR>> ><BR>> >=20<BR>> >> To: m3devel@elegosoft.com<BR>> >> Date: Sun=2C 12 Apr 2009 13:05:49 -0700<BR>> >> From: mika@async.caltech.edu<BR>> >> Subject: [M3devel] quick question for the Modula-3 ether... LONGFLOAT??<BR>> >>=20<BR>> >>=20<BR>> >> Does anyone out there have any idea why a lot of bits of Modula-3<BR>> >> refer to something called "LONGFLOAT" or "LongFloat". I just checked<BR>> >> Wirth=2C and Modula-2 used "REAL" as well so it doesn't seem like<BR>> >> LONGREAL would ever have been called "LONGFLOAT".<BR>> >>=20<BR>> >> Is LONGFLOAT/LongFloat of any significance or is it OK to<BR>> >> search-and-replace it away with LONGREAL/LongReal everywhere?<BR>> >>=20<BR>> >> (I'm talking about things like the emacs macro package as well as<BR>> >> all over m3tk...)<BR>> >>=20<BR>> >> Mika<BR>> ><BR>> >--_eaf98d33-2bbc-4e5b-8afc-bc1f32079c51_<BR>> >Content-Type: text/html; charset="iso-8859-1"<BR>> >Content-Transfer-Encoding: quoted-printable<BR>> ><BR>> ><html><BR>> ><head><BR>> ><style><BR>> >.hmmessage P<BR>> >{<BR>> >margin:0px=3B<BR>> >padding:0px<BR>> >}<BR>> >body.hmmessage<BR>> >{<BR>> >font-size: 10pt=3B<BR>> >font-family:Verdana<BR>> >}<BR>> ></style><BR>> ></head><BR>> ><body class=3D'hmmessage'><BR>> >1) I'm sure it is a natural term to all the =3Bother programmers=2C eas=<BR>> >y mistake to make.<BR><BR>> > =3B<BR><BR>> >2) There in fact this =3Bnatural need to come up with alternate names.<=<BR>> >BR><BR>> >You know=2C if you read the compiler =3Band runtime source=2C you see t=<BR>> >hings called Type and/or Tipe=2C not just Type=2C because Type (or at least=<BR>> > TYPE) is already a reserved word if you write =3B"metacode" dealing wi=<BR>> >th types=2C you can't use that name.<BR><BR>> > =3B<BR><BR>> >In that =3Bvein there are some =3Bpublic m3core modules for dealing=<BR>> > with floats/reals/whatever and they =3Bmight use names like this.<BR><BR>> > =3B<BR><BR>> > =3B- Jay<BR><BR><BR> =3B<BR>>=3B To: m3devel@elegosoft.com<BR>&g=<BR>> >t=3B Date: Sun=2C 12 Apr 2009 13:05:49 -0700<BR>>=3B From: mika@async.cal=<BR>> >tech.edu<BR>>=3B Subject: [M3devel] quick question for the Modula-3 ether=<BR>> >... LONGFLOAT??<BR>>=3B <BR>>=3B <BR>>=3B Does anyone out there have =<BR>> >any idea why a lot of bits of Modula-3<BR>>=3B refer to something called =<BR>> >"LONGFLOAT" or "LongFloat". I just checked<BR>>=3B Wirth=2C and Modula-2 =<BR>> >used "REAL" as well so it doesn't seem like<BR>>=3B LONGREAL would ever h=<BR>> >ave been called "LONGFLOAT".<BR>>=3B <BR>>=3B Is LONGFLOAT/LongFloat of=<BR>> > any significance or is it OK to<BR>>=3B search-and-replace it away with =<BR>> >LONGREAL/LongReal everywhere?<BR>>=3B <BR>>=3B (I'm talking about thing=<BR>> >s like the emacs macro package as well as<BR>>=3B all over m3tk...)<BR>&g=<BR>> >t=3B <BR>>=3B Mika<BR></body><BR>> ></html>=<BR>> ><BR>> >--_eaf98d33-2bbc-4e5b-8afc-bc1f32079c51_--<BR></body>
</html>