<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 22/11/2012 11:52 AM, Brandon Allbery
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAKFCL4Wg73xPTN+JDwz_fj+kTWxt3hOFQhzCAXR0Sket5uQbtA@mail.gmail.com"
      type="cite">
      <div dir="ltr">On Thu, Nov 22, 2012 at 7:56 AM, Jacques Carette <span
          dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:carette@mcmaster.ca" target="_blank">carette@mcmaster.ca</a>&gt;</span>
        wrote:<br>
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div class="im">On 20/11/2012 6:08 PM, Richard O'Keefe
              wrote:<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div class="im">
                On 21/11/2012, at 4:49 AM, &lt;<a moz-do-not-send="true"
                  href="mailto:citb@lavabit.com" target="_blank">citb@lavabit.com</a>&gt;
                wrote:<br>
                <br>
              </div>
              <div class="im">
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  Well, I don't know. Would it save some time? Why
                  bother with a core language? <br>
                </blockquote>
                For a high level language (and for this purpose, even
                Fortran 66 counts as<br>
                "high level") you really don't _want_ a direct
                translation from source code<br>
                to object code.  You want to eliminate unused code and
                you want to do all<br>
                sorts of analyses and improvements.  It is *much* easier
                to do all that to<br>
                a small core language than to the full source language.<br>
              </div>
            </blockquote>
            <br>
            Actually, here I disagree.  It might be much 'easier' for
            the programmers to do it for a small core language, but it
            may turn out to be much, much less effective.  I
            'discovered' this when (co-)writing a partial evaluator for
            Maple: </blockquote>
          <div><br>
          </div>
          <div>You're still using a core language, though; just with a
            slightly different focus than Haskell's.  I already
            mentioned gcc's internal language, which similarly is larger
            (semantically; syntactically it's sexprs).  What combination
            is more appropriate depends on the language and the compiler
            implementation.</div>
        </div>
      </div>
    </blockquote>
    <br>
    Right, we agree: it is not 'core language' I disagreed with, it is
    'smaller core language'.  And we also agree that smaller/larger
    depends on the eventual application.  But 'smaller core language' is
    so ingrained as "conventional wisdom" that I felt compelled to offer
    evidence against this bit of folklore.<br>
    <br>
    Jacques<br>
    <br>
  </body>
</html>