<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 11/30/12 10:44 AM, Dan Doel wrote:<br>
    </div>
    <blockquote
cite="mid:CAHEA9tMeg-2Oc2aRcmNHOTzPeRq64Qrbmn002O_xqOP7kzTPnQ@mail.gmail.com"
      type="cite">
      <p dir="ltr">Lists! The finite kind.</p>
      <p dir="ltr">This could mean Seq for instance.</p>
      <div class="gmail_quote">On Nov 30, 2012 9:53 AM, "Brent Yorgey"
        &lt;<a moz-do-not-send="true"
          href="mailto:byorgey@seas.upenn.edu">byorgey@seas.upenn.edu</a>&gt;
        wrote:<br type="attribution">
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
          Any data type which admits structures of arbitrary but *only
          finite*<br>
          size has a natural "zippy" Apply instance but no Applicative
          (since<br>
          pure would have to be an infinite structure). &nbsp;The Map
          instance I<br>
          mentioned above falls in this category. &nbsp;Though I guess I'm
          having<br>
          trouble coming up with other examples, but I'm sure some
          exist. &nbsp;Maybe<br>
          Edward knows of other examples.<br>
        </blockquote>
      </div>
    </blockquote>
    <br>
    Another common case would be an embedded DSL representing code in a
    different language, targeting a different platform (or even an FPGA
    or the like), etc. You can apply `OtherLang (a -&gt; b)` to an
    `OtherLang a` and get an `OtherLang b`, but you clearly can't
    promote (or "lower," I guess) an arbitrary Haskell function into a
    function in your target language. This is the same reason that
    GArrows remove the `arr` function
    (<a class="moz-txt-link-freetext" href="http://www.cs.berkeley.edu/~megacz/garrows/">http://www.cs.berkeley.edu/~megacz/garrows/</a>).<br>
    <br>
    --Gershom<br>
  </body>
</html>