<div>Hi!</div><div><br /></div><div><br /></div><div><blockquote><div dir="ltr"><div style="font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt"><div>>Windows 7 is good.</div><div>>Windows 10 is good.</div><div>>The Microsoft C++ toolchain is good.</div></div></div></blockquote></div><div> </div><div> It's good that M3 can continue support of "VMS for x86".</div><div><br /></div><div><br /></div><div>> <span style="font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">converting Modula-x to Modula-y</span></div><div><br /></div><div> I didn't write about this in my message about support of Windows, but...</div><div><br /></div><div> Utility m2tom3 is big advantage of Modula-3 world.</div><div><br /></div><div> The real alternative of C language based OSes is A2 writed on Active Oberon. I.e. Mac/*nix aren't real alternative of Windows.</div><div><br /></div><div> We have example of successful using of Modula-2 instead C language in XDS Modula-2/Oberon-2 compiler.</div><div><br /></div><div><br /></div><div><blockquote><div dir="ltr"><div style="font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt"><div>> Writing a linker is a lot of work and not likely worthwhile.</div><div>> Are you prepared to write symbols for debugging?</div></div></div></blockquote></div><div><br /></div><div> Yes, I am not shue that "Oberon way" is always exelent.</div><div>Support of debuggers very often simply doesn't implement in Oberon compilers.</div><div><br /></div><div>( XDS can generate .sym files. It's early variant of ..pdb)</div><div><br /></div><div><br /></div><div><br /></div><div>Best regards, Victor Miasnikov</div><div><br /></div><div><br /></div><div><br /></div><div>08.03.2021, 20:48, "Jay K" <jayk123@hotmail.com>:</div><blockquote><div dir="ltr">
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
No.
<div><br />
</div>
<div>Windows 7 is good.</div>
<div>Windows 10 is good.</div>
<div>The Microsoft C++ toolchain is good.</div>
<div>If you don't like them, use Linux or Mac, etc. or turn off your computer.</div>
<div>I will not be converting Modula-x to Modula-y.</div>
<div>There are source to source transforms that are useful, but not that.</div>
<div>Consider instead C++ or JavaScript or TypeScript or Rust or LLVM IR or Java, as a means to connecting</div>
<div>to other good backends.</div>
<div><br />
</div>
<div>Writing a linker is a lot of work and not likely worthwhile.</div>
<div>Are you prepared to write symbols for debugging?</div>
<div><br />
</div>
<div>NT on Mips/PowerPC/Alpha might be nice, but OpenNT is apparently ancient unlicensed code.</div>
<div><br />
</div>
<div>Mips/PowerPC/Alpha are plenty usable otherwise, for example Linux in Qemu, or real hardware.</div>
<div><br />
</div>
<div>Though I find it difficult to care about any more than, already a long target list:</div>
amd64, arm64, riscv64, WebAssembly (32 now, 64 soon), NT, Darwin, Linux, Fuschia.<br />
</div>
<div>
<div id="dd8fcbc3886f6beba9d56dd35eeb1be5appendonsend"></div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
And generating C++, really, gets you extremely broad reach.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
Though even then, closures, threads, exception handling, can be problems (esp. in wasm presently).</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
- Jay</div>
<hr style="display:inline-block;width:98%" />
<div id="f2e387f28ef856c18dfa722bbcbb9bfadivRplyFwdMsg" dir="ltr"><font color="#000000" face="Calibri, sans-serif" style="font-size:11pt"><b>From:</b> <a href="mailto:vvm@tut.by" target="_blank">vvm@tut.by</a> <<a href="mailto:vvm@tut.by" target="_blank">vvm@tut.by</a>><br />
<b>Sent:</b> Monday, March 8, 2021 5:33 PM<br />
<b>To:</b> Dirk Muysers <<a href="mailto:dmuysers@hotmail.com" target="_blank">dmuysers@hotmail.com</a>>; Jay K <<a href="mailto:jayk123@hotmail.com" target="_blank">jayk123@hotmail.com</a>>; <a href="mailto:m3devel@elegosoft.com" target="_blank">m3devel@elegosoft.com</a> <<a href="mailto:m3devel@elegosoft.com" target="_blank">m3devel@elegosoft.com</a>><br />
<b>Subject:</b> Re: [M3devel] eliminating lazy/strict align</font>
<div> </div>
</div>
<div>
<div>Hi!</div>
<div><br />
</div>
<div> </div>
<div> I hope, that ReactOs as "free Windows" and(or) projects like OpenNT can be solution.</div>
<div><br />
</div>
<div>( *nix can't. Main reason: W N T := V++ M++ S++)</div>
<div><br />
</div>
<div> In addition, it's good idea convert all source code of OS from C language to Modula-3.</div>
<div><br />
</div>
<div> May be except 16bit part ( boot loader, MS DOS and Win16 emulation). It's can be convert to Modula-2.</div>
<div><br />
</div>
<div>> <span style="font-family:'arial';font-size:10pt">own linker</span></div>
<div><span style="font-family:'arial';font-size:10pt"><br />
</span></div>
<div><span style="font-family:'arial';font-size:10pt"> It's looks like "Oberon way".</span></div>
<div><br />
</div>
<div><br />
</div>
<div><span style="font-family:'arial';font-size:10pt">> free C tools (e.g. Pelles C)</span></div>
<div><span style="font-family:'arial';font-size:10pt"><br />
</span></div>
<div><span style="font-family:'arial';font-size:10pt"> Is it has free source code?</span></div>
<div><span style="font-family:'arial';font-size:10pt">It's based on lcc, that's good.</span></div>
<div><br />
</div>
<div>> <span style="font-family:'arial';font-size:10pt">latest Visual Studio</span></div>
<div><span style="font-family:'arial';font-size:10pt"><br />
</span></div>
<div><span style="font-family:'arial';font-size:10pt"> Why not? It's have native support of utf-8.</span></div>
<div><br />
</div>
<div>> <span style="font-family:'arial';font-size:10pt">Windows 7 Pro</span></div>
<div><span style="font-family:'arial';font-size:10pt"><br />
</span></div>
<div><span style="font-family:'arial';font-size:10pt"> As I known, Win 7 has equal telemetry level as Win 10.</span></div>
<div>( It's instaled by monthly hotfixes. 3-5 years ago)</div>
<div><br />
</div>
<div>Best regards, Victor Miasnikov</div>
<div><br />
</div>
<div><br />
</div>
<div>08.03.2021, 17:54, "Dirk Muysers" <<a href="mailto:dmuysers@hotmail.com" target="_blank">dmuysers@hotmail.com</a>>:</div>
<blockquote>
<div id="bd9e58d36e34e3b5b5bbf2fb8176f3dax_3703dff1190c180ca2d747abb9609bd2__MailbirdStyleContent" dir="ltr" style="color:#000000;font-family:'arial';font-size:10pt;text-align:left">
The less M3 depends on Windows, the better. Don't oblige me to download the latest Visual Studio for Windows 10. For the moment I stick to AMD64 Windows 7 Pro (and a good Norton protection) because I want to own my computer instead of Microsoft owning it, spying
on me, and force-install new versions that sometimes are buggy and prevent you from using your box as it happened lately. I think M3 should have at least its own linker or use free C tools (e.g. Pelles C) rather than MS's monstruous infrastructure.
<div class="9fe4a72fd5d67631ee704358ff4a8bc7x_e598de3599505b0197ba07b9970dbf82mb_sig"></div>
<blockquote class="df8e3690bb39d38af990a6fe710182ffx_992e56a3e1bc4c83a6c75bda7521daafhistory_container" style="border-left-style:solid;border-width:1px;margin-left:0px;margin-top:20px;padding-left:10px">
<p style="color:#aaaaaa;margin-bottom:0;margin-top:10px">On 08/03/2021 10:35:19, Jay K <<a href="mailto:jayk123@hotmail.com" target="_blank">jayk123@hotmail.com</a>> wrote:</p>
<div style="font-family:'arial' , 'helvetica' , sans-serif">
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
I'm looking at target-specificness in m3front/m3middle again, and lazyalign shows up.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
I would really really really like targets to have far less difference.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<span style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">I believe it is mostly counter productive.</span></div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
I understand x86 can pack things more tightly and this can save memory with certain structures.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
And sharing data with C is made easier sometimes.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
But I want the target matrix to be: <span style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">(NT or Posix) and (32bit or 64bit) and (endian)</span></div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<span style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">and then 32bit and big endian can be considered unusual, so</span><br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
people can just chose to download Windows or Unix archives,</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
and I don't think x86/amd64 merit a further expansion of this matrix.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
The system will be easier to setup, as long as it remains "self hosted".</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
(Rewriting m3front in C or C++ is another alternative.)</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
This will break people's Pickles?<br />
Or the Pickle code will adapt, just as if tranferring across architecture?<br />
I think it will adapt.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
The lazyalign and strictalign pragmas would be ignored, or warn.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
The way they are implemented seems dubious, in that when you see lazyalign,</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
it alters Target, and I don't know if the ordering of that is good -- does adding</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
a lazyalign type to a library change the code or layout of the entire library?</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
Thoughts please?</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
- Jay</div>
</div>
</blockquote>
</div>
<img class="9d39a9e91103fea8e32fd6a5610044a0x_718377a3ca1de992626a5215f9fb473mailbird" height="1" src="https://tracking.getmailbird.com/OpenTrackingPixel/?messageId=Mailbird-e0f50663-7dc2-48e5-804f-8596f96e3624@hotmail.com&senderHash=7C02C40A7B379A07BCD8ED251F69A75A67BA121D56B24ACC64170A95F0D0C6A4&recipientHash=2B75E3E3DE5EE95514E28144F7FF217E4818AA12371CBC827E3E541A2097527F&internalId=87a8f667-bdbb-4e5b-aa8c-379307031075" width="1" style="border:0;height:1;width:1" />
,
<p style="margin-bottom:0;margin-top:0">_______________________________________________<br />
M3devel mailing list<br />
<a href="mailto:M3devel@elegosoft.com" target="_blank">M3devel@elegosoft.com</a><br />
<a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fm3lists.elegosoft.com%2Fmailman%2Flistinfo%2Fm3devel&data=04%7C01%7C%7C7341e3aba9f347cebfe308d8e2585835%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637508216352212030%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=HiG8FGj5U111E2FiqOZaIV1iK3mISc4WVZ6CB2uki1c%3D&reserved=0" target="_blank">https://m3lists.elegosoft.com/mailman/listinfo/m3devel</a><br />
</p>
</blockquote>
</div>
</div>
</div>
</blockquote>