<div dir="ltr"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Yeah.  Strings are more expensive than just numbers (which can be done<br>
through DW_FORM_implicit_const) and for strings you'd need some agreed way<br>
how to compare what is newer and what is older.<br>
strverscmp, rpmvercmp, ... (many choices, what is the right segmented string<br>
comparison)?<br></blockquote><div><br></div><div>For an attribute that is used maybe once per compilation unit, I don't think the space cost is all that significant. But specifying how to compare dotted strings is tricky. We could just require the language to use zero-padded segments, like "003.006.007" so that the strings can simply be compared lexically.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
If you have a language that uses more than 2 digit minor or patchlevel<br>
versions, either you need to stay at 99 or when adding the language<br>
go for VVVMMMPPP versioning scheme instead.<br></blockquote><div><br></div><div>Once a version scheme is assigned, it's not that simple to change it. We'd have to impose a requirement that in moving from one scheme to another, the producer guarantees that newer versions always compare greater than earlier versions (e.g., moving from VVMMPP to a hypothetical VVVMMMPPP would work as long as VVV > 0).</div><div><br></div><div>-cary</div></div></div>