<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 9/10/2013 1:06 PM, Eliot Miranda
wrote:<br>
</div>
<blockquote
cite="mid:CAC20JE2Mw_tjbK1HybBv01akwEhNmSpoWN+bTs910bex=cOHhg@mail.gmail.com"
type="cite">
<pre wrap=""> </pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Tue, Sep 10, 2013 at 9:11 AM,
Florin Mateoc <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:florin.mateoc@gmail.com" target="_blank">florin.mateoc@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex"> <br>
<div bgcolor="#FFFFFF" text="#000000">
<div>On 9/10/2013 11:39 AM, Eliot Miranda wrote:<br>
</div>
<blockquote type="cite">
<pre> </pre>
<br>
<fieldset></fieldset>
<br>
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Mon, Sep 9, 2013 at
8:50 PM, Florin Mateoc <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:florin.mateoc@gmail.com"
target="_blank">florin.mateoc@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div> <br>
</div>
Ha! Your "Smalltalk isn't JavaScript" just
made a light bulb go on. But isn't (or
shouldn't) Slang (be) asm.js ?<br>
</blockquote>
<div><br>
</div>
<div>No. Adaptive optimization/speculative
inlining (which one could characterize as
run-time type inference) is more interesting.
If AO/SI is applied to a closed world and
tests can cause complete coverage then I
contend one can translate a pure
dynamically-typed VM implementation to C or
machine code without type annotations (or at
least with minimal type annotations). Clearly
there are holes here. One cannot practicably
cover e.g. conversion from 64-bit integer or
float values to tagged 61-bit integer or float
immediates. But one can e.g. convert
algorithms using Set and Dictionary into
inlined closure-free code. That's what
Self/Strongtalk/HotSpot does. As I understand
it that's part of the goals behind Gerardo
Richarte and Javier Burroni's VM. asm.js is
similar to the Slang approach and I think both
are poor.</div>
<div><br>
</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex"> <br>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
It is true that the closed world assumption applies well
here. Plus, a similar belief made me interested in type
inference in the first place - I even think ahead of
time compilation could do a very good job<br>
</div>
</blockquote>
<div><br>
</div>
<div>+1</div>
<div><br>
</div>
</div>
-- <br>
best,
<div>Eliot</div>
</div>
</div>
</blockquote>
<br>
Do let me know when you get to write it like that (pure
dynamically-typed). I assume the VM that you refer to includes the
JIT, so this would cover some of the code generation as well. Nice
bootstrap issue to have, especially if most of the compilation
happens as source-to-source transformations. I'd sure like to be
involved with that<br>
<br>
Florin<br>
</body>
</html>