Error Monad

Log in om je oplossingen te testen.
data Ofwel e a = Rechts a | Links e deriving (Show, Eq) -- | Ofwel het exacte resultaat van een gehele deling, ofwel een foutboodschap. safeDiv :: Int -> Int -> Ofwel String Int safeDiv x y | y == 0 = Links "can't divide by zero" | x `mod` y /= 0 = Links "not exact" | otherwise = Rechts (x `div` y) instance Functor (Ofwel e) where fmap = undefined instance Applicative (Ofwel e) where pure = undefined (<*>) = undefined instance Monad (Ofwel e) where return = undefined (>>=) = undefined -- | Kunnen we x appels en y peren eerlijk verdelen over z kinderen? Hoeveel vruchten krijgt elk? sharing :: Int -> Int -> Int -> Ofwel String Int sharing x y z = undefined -- | Ofwel het n-de element van de lijst, ofwel een foutboodschap. (!!?) :: [a] -> Int -> Ofwel String a l !!? n = undefined
Je kunt zo vaak indienen als je wenst. Er wordt enkel rekening gehouden met je laatst ingediende oplossing.
Log in om je oplossingen te testen.