[Haskell-cafe] Why Kleisli composition is not in the Monad signature?

Gershom Bazerman gershomb at gmail.com
Fri Nov 30 18:21:48 CET 2012


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" <byorgey at seas.upenn.edu 
> <mailto:byorgey at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20121130/e92191ef/attachment.htm>


More information about the Haskell-Cafe mailing list