<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
C-- is not actively maintained I believe, so not a good idea to use.<BR> <BR> <BR>C and C++ are much more portable and "maintained" (C++ gives us more portable efficient exception handling.)<BR>  (There is a good C and C++ compiler for every mainstream system in use today<BR> <BR> <BR>LLVM isn't a bad idea, but there is more expertise out there (and in me) with C and C++, so C and C++ are easier to generate.<BR>It is a bit of a chore to learn and use.<BR> <BR> <BR>JIT isn't a crazy idea either..or rather, an interpreter.<BR>If you look at parse.c..and you add a few thread locals..I think it's not hard to turn it into an interpreter.<BR>  (In reality you don't want to start with parse.c because of the GPL.)<BR> <BR> <BR>And, interesting point as well, an interpreter in Java or C# or whatever is "more native" on e.g. Android and Windows Phone, is also not too difficult. You could do it in a low level fashion that is viable in "safe" environments.<BR>Search the web for "XML VM". I know it is nonsense term, but the project is/was real, despite the name, it is a viable approach.<BR> <BR> <BR>What they did is this:<BR>  "convert" (i.e. dump faithfully and without optimization or fitting any uniform scheme) Java .class files and .NET IL into XML.<BR>  Write XML Style Sheets (XSL) to transform to whatever -- including JavaScript and C.<BR>  Write some supporting libraries.<BR> <BR> <BR>As a result, they could "compile" Java to C and run on iPhone, "compile" Java to JavaScript and run in browser (Yes, I know about Google Web Toolkit.)<BR> <BR> <BR> <BR> - Jay<br> <BR><div><div id="SkyDrivePlaceholder"></div><hr id="stopSpelling">Date: Fri, 18 May 2012 18:16:59 +0100<br>From: dabenavidesd@yahoo.es<br>To: dragisha@m3w.org<br>CC: m3devel@elegosoft.com<br>Subject: Re: [M3devel] LINUXLIBC6<br><br><table border="0" cellSpacing="0" cellPadding="0"><tbody><tr><td vAlign="top" style="font: inherit; font-size-adjust: inherit; font-stretch: inherit;">Hi all:<br>After ESC we do need much debugger at all, in fact it was designed for that for avoiding put much time on it.<br>Still if we generate C is for super-optimization (but verified also mechanically), so I don't mind that, but for code quality I prefer C, I agree absolutely in that we should support it again for that purpose (as originally).<br>As for not verified code we should stick with C--, as it is written for that purposes, but for portability specially with implicit safety.<br>And for not verified nor optimal and not common use code (like mentor) we should make them source packages (in fact If they are written in Obliq we don't want to redistribute that as non-source), instead part of m3-demo package subdirectory or so.<br>I think for M3CG is that we need a LLVM or so back-end for JIT.<br>Thanks in advance<br><br>--- El <b>vie, 18/5/12, Dragiša
 Durić <i><dragisha@m3w.org></i></b> escribió:<br><blockquote style="padding-left: 5px; margin-left: 5px;"><br>De: Dragiša Durić <dragisha@m3w.org><br>Asunto: Re: [M3devel] LINUXLIBC6<br>Para: "Jay K" <jay.krell@cornell.edu><br>CC: "m3devel" <m3devel@elegosoft.com><br>Fecha: viernes, 18 de mayo, 2012 11:58<br><br><div id="ecxyiv1972634024"><div>One thing we also drop is to source level debug modula-3, if we choose to go along generate-C pathway.<div><br><div><div>On May 17, 2012, at 1:40 AM, Jay K wrote:</div><br class="ecxyiv1972634024Apple-interchange-newline"><blockquote><span class="ecxyiv1972634024Apple-style-span" style="font:/normal Helvetica; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; border-collapse: separate; orphans: 2; widows: 2;"><span class="ecxyiv1972634024Apple-style-span" style="font-family: Tahoma; font-size: 13px;">  But heck, really, if we generate C, then targets largely drop away. <span class="ecxyiv1972634024Apple-converted-space"> </span></span></span></blockquote></div><br></div></div></div></blockquote></td></tr></tbody></table></div>                                       </div></body>
</html>