[Haskell-cafe] What is this applicative functor?

Joachim Breitner mail at joachim-breitner.de
Wed Feb 1 17:39:06 UTC 2017


Hi,

Am Mittwoch, den 01.02.2017, 10:33 -0500 schrieb Joachim Breitner:
> Hi,
> 
> David wrote:
> > How about this?
> > 
> > hd (OneStep x xs) = x
> > 
> > instance Monad OneStep where
> >     OneStep x xs >>= f = OneStep y (map (hd . f) xs ++ ys)
> >         where
> >         OneStep y ys = f x
> > 
> > Not sure if it’s good for anything, but it seems valid and consistent
> > based on a preliminary investigation.
> 
> 
> Yes, this looks reasonable. Did you happen to already work through the
> monad laws? 

Just did, all looks fine:
https://github.com/nomeata/haskell-successors/blob/c1fd614cb0fc3e3b5dbf0338f835a91ea78e0b63/src/Control/Applicative/Successors.hs#L82

Uploaded to http://hackage.haskell.org/package/successors in case
someone wants to play with it.

Greetings,
Joachim
-- 
Joachim “nomeata” Breitner
  mail at joachim-breitner.dehttps://www.joachim-breitner.de/
  XMPP: nomeata at joachim-breitner.de • OpenPGP-Key: 0xF0FBF51F
  Debian Developer: nomeata at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20170201/24998c92/attachment.sig>


More information about the Haskell-Cafe mailing list