packages feed

she 0.4 → 0.5

raw patch · 3 files changed

+49/−2 lines, 3 files

Files

she.cabal view
@@ -1,5 +1,5 @@ name:               she-version:            0.4+version:            0.5 homepage:           http://personal.cis.strath.ac.uk/~conor/pub/she synopsis:           A Haskell preprocessor adding miscellaneous features description:@@ -42,6 +42,7 @@                         HaLay                         Parsley                         Patsy+                        ShesHers                         Superclass                         TypesToKinds 
src/Imports.lhs view
@@ -9,6 +9,7 @@  > import HaLay > import Parsley+> import ShesHers  > tryReadFile :: FilePath -> IO String > tryReadFile s = catch (readFile s) $ \ e ->@@ -24,7 +25,8 @@ > getHers p = ready f <$> tryReadFile f where f = joinPath p <.> "hers"  > storySoFar :: [[Tok]] -> IO [[Tok]]-> storySoFar hs = oneOfEach [] <$> foldMap getHers (hs >>= grokImports)+> storySoFar hs = (shesHers ++) <$>+>                 (oneOfEach [] <$> foldMap getHers (hs >>= grokImports))  > pModule :: P Tok String > pModule = (teq (KW "module") *> spc *> uid) <* pRest
+ src/ShesHers.lhs view
@@ -0,0 +1,44 @@+> 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 where"+>   , "    empty, (<|>)"+>   , ""+>   , "  class MonadPlus where"+>   , "    mzero, mplus"+>   , "    instance Alternative where"+>   , "      empty = mzero"+>   , "      (<|>) = mplus"+>   , ""+>   ]++> shesHers :: [[Tok]]+> shesHers = ready "ShesHers.hers" bigString