<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=text/html;charset=iso-8859-2 http-equiv=Content-Type>
<STYLE><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></STYLE>
<META name=GENERATOR content="MSHTML 8.00.6001.19412"></HEAD>
<BODY style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 15px"
id=MailContainerBody class=hmmessage leftMargin=0 topMargin=0
CanvasTabStop="true" name="Compose message area">
<DIV><FONT face=Arial>I am not missing anything in quake. I just thought it was
worth a look.</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>If I would redo M3 (and I am too old for that), I
would write a single</FONT></DIV>
<DIV><FONT face=Arial>byte-code producing </FONT><FONT face=Arial>compiler. So,
no compelling need for quake</FONT></DIV>
<DIV><FONT face=Arial>or any other build tool. Plus a platform-dependent
runtime and jitter</FONT></DIV>
<DIV><FONT face=Arial>(using e.g. libjit). </FONT><FONT face=Arial>Would make
the whole thing much simpler.</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>The biggest mistake IMHO was CM's new text
model</FONT><FONT face=Arial> that obliges to</FONT></DIV>
<DIV><FONT face=Arial>code two branches for nearly any text-related
</FONT><FONT face=Arial>job. I would have kept</FONT></DIV>
<DIV><FONT face=Arial>the pm3 text model but encoded in UTF-8. There is nearly
no runtime</FONT></DIV>
<DIV><FONT face=Arial>penalty as one accesses text almost always
sequentially. Tell me a</FONT></DIV>
<DIV><FONT face=Arial>single case where one needs random access
to individual characters.</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>I tried to do that, but TEXT is used in every nock
and corner </FONT><FONT face=Arial>of the<BR>libraries. </FONT><FONT
face=Arial>Also, surprisingly, it is significantly more difficult to
revert</FONT></DIV>
<DIV><FONT face=Arial>from the cm3 to the pm3 </FONT><FONT face=Arial>model
than CM's passage to the alternate</FONT></DIV>
<DIV><FONT face=Arial>model. You have to touch </FONT><FONT face=Arial>almost
every module in the system. It took</FONT></DIV>
<DIV><FONT face=Arial>me half a day to </FONT><FONT face=Arial>grep through the
libraries with Text, Text8, Text16,<BR>TextLiteral etc. And restarting from pm3
sacrifices the indeniable</FONT></DIV>
<DIV><FONT face=Arial>improvements of the cm3 compiler,
disregarding its text model.</FONT> </DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>That wide-character blunder was first introduced by
Microsoft (does</FONT></DIV>
<DIV><FONT face=Arial>that surprise anybody?) when they thought that Unicode
would never</FONT></DIV>
<DIV><FONT face=Arial>go beyond 16 bits. Sun followed the trail with Java and so
did CM</FONT></DIV>
<DIV><FONT face=Arial>with M3. S. Ballmer's resignation (thanks the gods) comes
to late to</FONT></DIV>
<DIV><FONT face=Arial>reverse the trend. </FONT><FONT face=Arial>Newer text
models (e.g. Go) all acknowledge the</FONT></DIV>
<DIV><FONT face=Arial>mistake and use UTF-8.</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>I am currently working at a Unicode-friendly library that
uses UTF-8</FONT></DIV>
<DIV><FONT face=Arial>text side-by-side with the existing
cm3 TEXT.</FONT></DIV>
<DIV><BR></DIV>
<DIV style="FONT: 10pt Tahoma">
<DIV style="BACKGROUND: #f5f5f5">
<DIV style="font-color: black"><B>From:</B> <A
title="mailto:jay.krell@cornell.edu
CTRL + Click to follow link"
href="mailto:jay.krell@cornell.edu">Jay K</A> </DIV>
<DIV><B>Sent:</B> Sunday, August 25, 2013 9:31 AM</DIV>
<DIV><B>To:</B> <A
title="mailto:dragisha@m3w.org
CTRL + Click to follow link"
href="mailto:dragisha@m3w.org">Dragiša Durić</A> ; <A
title="mailto:dmuysers@hotmail.com
CTRL + Click to follow link"
href="mailto:dmuysers@hotmail.com">Dirk Muysers</A> </DIV>
<DIV><B>Cc:</B> <A title=m3devel@elegosoft.com
href="mailto:m3devel@elegosoft.com">m3devel</A> </DIV>
<DIV><B>Subject:</B> RE: [M3devel] Build Automation</DIV></DIV></DIV>
<DIV><BR></DIV>
<DIV dir=ltr>For what we use it for, Quake is hard to beat.<BR> <BR>What
are you missing in Quake?<BR> <BR>It falls down only
slightly:<BR> - not as much parallelism as it could have
<BR> - it is an obscure system, like Modula-3
<BR> - it is perhaps fairly Modula-3 specific; but it is extensible
and we do have C/C++ in their, presumably one could add Java/C# support
reasonably easily..<BR> - doesn't offer building multiple
programs/modules in one invocation -- directory traversal; we layer thin
scripts over it <BR> - the name -- I assume it meant
quick make <BR> <BR>it wins:<BR> - integrated with the compiler (this
can be viewed as bad too) <BR> - declarative (or at least appears so, it
is actually clever and imperative, but it is a great facsimile)
<BR> - presumably efficient -- they actually compile it down to a
bytecode internally and execute that!<BR> - presumably efficient --
underlying native code Modula-3 implementation..if this means anything any
longer, so much is written in JavaScript, C#, Java, theoretical efficiencies all
over the place and yet most things seem ok<BR> <BR> <BR> -
Jay<BR><BR><BR><BR> <BR>
<DIV>
<HR id=stopSpelling>
From: dragisha@m3w.org<BR>Date: Fri, 23 Aug 2013 22:03:16 +0200<BR>To:
dmuysers@hotmail.com<BR>CC: m3devel@elegosoft.com<BR>Subject: Re: [M3devel]
Build Automation<BR><BR>Gradle is better maven, better ant, better Ivy, etc. It
is from/for Java world.
<DIV><BR></DIV>
<DIV>It integrates other Java ecosystem build tools and extends them. It is
written in Groovy, and lots of its "virtue" derives from this fact.</DIV>
<DIV><BR></DIV>
<DIV>To be useable for us, it probably first needs to integrate quake. Not an
easy task, without clear benefits.</DIV>
<DIV><BR>
<DIV><SPAN
style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px"
class=ecxApple-style-span><SPAN
style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px"
class=ecxApple-style-span>
<DIV><SPAN
style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px"
class=ecxApple-style-span>
<DIV>
<DIV>--</DIV></DIV></SPAN></DIV></SPAN><SPAN style="FONT-FAMILY: Helvetica"
class=ecxApple-style-span>Dragiša Durić</SPAN><SPAN
style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px"
class=ecxApple-style-span>
<DIV><SPAN
style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px"
class=ecxApple-style-span>
<DIV>
<DIV><A href="mailto:dragisha@m3w.org">dragisha@m3w.org</A></DIV>
<DIV><BR></DIV></DIV></SPAN></DIV></SPAN></SPAN><BR
class=ecxApple-interchange-newline></DIV><BR>
<DIV>
<DIV>On Aug 20, 2013, at 7:23 PM, Dirk Muysers wrote:</DIV><BR
class=ecxApple-interchange-newline>
<BLOCKQUOTE>
<DIV style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 15px"
id=ecxMailContainerBody>
<DIV><FONT face=Arial>Is <A href="http://www.gradle.org/"
target=_blank>Gradle</A> a better
quake?</FONT></DIV></DIV></BLOCKQUOTE></DIV><BR></DIV></DIV></DIV></BODY></HTML>