On 11/30/12 10:44 AM, Dan Doel wrote:

Lists! The finite kind.

This could mean Seq for instance.

On Nov 30, 2012 9:53 AM, "Brent Yorgey" <byor...@seas.upenn.edu <mailto:byor...@seas.upenn.edu>> wrote:


    Any data type which admits structures of arbitrary but *only finite*
    size has a natural "zippy" Apply instance but no Applicative (since
    pure would have to be an infinite structure).  The Map instance I
    mentioned above falls in this category.  Though I guess I'm having
    trouble coming up with other examples, but I'm sure some exist.  Maybe
    Edward knows of other examples.


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 -> 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 (http://www.cs.berkeley.edu/~megacz/garrows/).

--Gershom
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to