she-0.6: src/ShesHers.lhs
> module ShesHers where
> import HaLay
> bigString :: String
> bigString = unlines
> [ "module ShesHers where"
> , " class Functor f where"
> , " fmap"
> , ""
> , " class Applicative f where"
> , " pure, (<*>)"
> , " instance Functor f where"
> , " fmap = (<*>) . pure"
> , ""
> , " class Monad f where"
> , " return, (>>=), (>>), fail where"
> , " instance Applicative f where"
> , " pure = return"
> , " ff <*> sf = ff >>= \\ f -> sf >>= \\ s -> return (f s)"
> , ""
> , " class Foldable f where"
> , " fold, foldMap, foldr, foldl, foldr1, foldl1"
> , ""
> , " class Traversable f where"
> , " traverse, sequenceA, mapM, sequence"
> , " instance Foldable f where"
> , " foldMap = foldMapDefault"
> , " instance Functor f where"
> , " fmap = fmapDefault"
> , ""
> , " class Alternative f where"
> , " empty, (<|>)"
> , ""
> , " class MonadPlus f where"
> , " mzero, mplus"
> , " instance Alternative f where"
> , " empty = mzero"
> , " (<|>) = mplus"
> , ""
> ]
> shesHers :: [[Tok]]
> shesHers = ready "ShesHers.hers" bigString