Use cont instead of ContT to construct.

On 13/07/2014 4:47 PM, "martin" <martin.drautzburg@web.de> wrote:
Yes, this works.

Is this because I was using the Cont monad transformer instead of a plain coninutation monad? And with a plain
continuation monad  (String -> String) -> String would have worked?

Does everybody use the transformer these days? Is a plain continuation monad still around?

Am 07/12/2014 05:12 PM, schrieb David McBride:
> It's because the type of f is not (String -> String) -> String
>
> It is (String -> Identity String) -> Identity String
>
> Do a replacement manually and you'll see that f has to be of type ->  ContT String Identity String --> ContT (String ->
> Identity String) -> Identity String)
>
> You can see that in the error message Expected type: ContT String Identity String, Actual type: ContT Char [] String.
> The reason why it looks weird is that it is assuming that your monad instead of being identity is [], and that the r in
> "m r" must be a Char in order for that to work.  I'm not really sure why it chose list, probably type defaulting rules.
>
>
> On Sat, Jul 12, 2014 at 6:24 AM, martin <martin.drautzburg@web.de <mailto:martin.drautzburg@web.de>> wrote:
>
>     Hello all,
>
>     I just started trying to understand Continuations, but my very first exercise already left me mystified.
>
>     import Control.Monad.Cont
>
>     resultIs :: Int -> Cont String String
>     resultIs i = ContT $ f
>             where
>                 f :: (String -> a) -> a
>                 f k = k ("result=" ++ show i)
>
>     If resultIs returns a Cont String String, then f should be (String->String)->String, but that doesn't compile. Why is
>     that so?
>     _______________________________________________
>     Beginners mailing list
>     Beginners@haskell.org <mailto:Beginners@haskell.org>
>     http://www.haskell.org/mailman/listinfo/beginners
>
>
>
>
> _______________________________________________
> Beginners mailing list
> Beginners@haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners