[Haskell-cafe] Applicative but not Monad
Miguel Mitrofanov
miguelimo38 at yandex.ru
Fri Oct 30 14:52:33 EDT 2009
What type is your "return"?
On 30 Oct 2009, at 21:48, Dan Weston wrote:
> Can you elaborate on why Const is not a monad?
>
> return x = Const x
> fmap f (Const x) = Const (f x)
> join (Const (Const x)) = Const x
>
> What am I missing?
>
> Tom Davie wrote:
>> Of note, there is a sensible monad instance for zip lists which I
>> *think* agrees with the Applicative one, I don't know why they're
>> not monads:
>> instance Monad (ZipList a) where
>> return = Ziplist . return
>> join (ZipList []) = ZipList []
>> join (ZipList (a:as)) = zlHead a `zlCons` join (map zlTail as)
>> I'll provide an alternative though, Const a is an applicative, but
>> not a monad.
>> Bob
>> On Fri, Oct 30, 2009 at 5:25 PM, Eugene Kirpichov <ekirpichov at gmail.com
>> <mailto:ekirpichov at gmail.com>> wrote:
>> Yes. ZipList.
>> http://en.wikibooks.org/wiki/Haskell/Applicative_Functors
>> 2009/10/30 Yusaku Hashimoto <nonowarn at gmail.com
>> <mailto:nonowarn at gmail.com>>:
>> > Hello cafe,
>> > Do you know any data-type which is Applicative but not Monad?
>> >
>> > Cheers,
>> > -~nwn
>> > _______________________________________________
>> > Haskell-Cafe mailing list
>> > Haskell-Cafe at haskell.org <mailto:Haskell-Cafe at haskell.org>
>> > http://www.haskell.org/mailman/listinfo/haskell-cafe
>> >
>> --
>> Eugene Kirpichov
>> Web IR developer, market.yandex.ru <http://market.yandex.ru>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org <mailto:Haskell-Cafe at haskell.org>
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list