On Sun, Feb 15, 2015 at 10:37 AM, Keean Schupke <[email protected]> wrote:

> You are right, I have revised my position. I am now suggesting that a
> datatype be used to represent the actual point that a call happens. As in:
>
> f :: a -> b -> Eff e c
>
> Note although Eff looks like a monad, and happens to have the semantics of
> a monad, this is an emergent property, you don't have to generalise it into
> a monad :-)
>

:-)

OK. First, I agree that some variant of this works. But it appears to me
that this is equivalent to introducing a second arrow type, which might
(perhaps) be written as:

f :: a -> b -=-> c

And if that's what we're doing, then it seems to me that all we have
accomplished is to encode the arity using a different syntax than the one
that I originally proposed.

Incidentally, those "accumulating" arrows *do* have effects! They cause
allocation!



shap
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to