Add remaining haskell book exercises

This commit is contained in:
2025-12-11 10:28:11 +01:00
parent 3624c712d7
commit 98329e0a3d
221 changed files with 8033 additions and 2 deletions

View File

@@ -0,0 +1,21 @@
module Functions where
j :: Monad m => m (m a) -> m a
j = flip (>>=) id
l1 :: Monad m => (a -> b) -> m a -> m b
l1 = fmap
l2 :: Monad m => (a -> b -> c) -> m a -> m b -> m c
l2 f xs ys = f <$> xs <*> ys
a :: Monad m => m a -> m (a -> b) -> m b
a xs f = f <*> xs
meh :: Monad m => [a] -> (a -> m b) -> m [b]
meh xs f = rec $ fmap f xs
where rec [] = return []
rec (x:xs) = (:) <$> x <*> (rec xs)
flipType :: Monad m => [m a] -> m [a]
flipType = flip meh id