<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">&lt;<a moz-do-not-send="true"
                href="mailto:florin.mateoc@gmail.com" target="_blank">florin.mateoc@gmail.com</a>&gt;</span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">&nbsp;<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">&lt;<a
                            moz-do-not-send="true"
                            href="mailto:florin.mateoc@gmail.com"
                            target="_blank">florin.mateoc@gmail.com</a>&gt;</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. &nbsp;Adaptive optimization/speculative
                          inlining (which one could characterize as
                          run-time type inference) is more interesting.
                          &nbsp;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). &nbsp;Clearly
                          there are holes here. &nbsp;One cannot practicably
                          cover e.g. conversion from 64-bit integer or
                          float values to tagged 61-bit integer or float
                          immediates. &nbsp;But one can e.g. convert
                          algorithms using Set and Dictionary into
                          inlined closure-free code. &nbsp;That's what
                          Self/Strongtalk/HotSpot does. &nbsp;As I understand
                          it that's part of the goals behind Gerardo
                          Richarte and Javier Burroni's VM. &nbsp; asm.js is
                          similar to the Slang approach and I think both
                          are poor.</div>
                        <div><br>
                        </div>
                        <div>&nbsp;</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>