diff options
-rw-r--r-- | gcd.hs | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -0,0 +1,11 @@ +import Control.Monad.Writer + +gcd' :: Int -> Int -> Writer [String] Int +gcd' a b + | b == 0 = do + tell ["Finished with " ++ show a] + return a + | otherwise = do + tell [show a ++ " mod " ++ show b ++ " = " ++ show (a `mod` b)] + gcd' b (a `mod` b) + |