RosettaCodeData/Task/Parsing-RPN-calculator-algo.../Haskell/parsing-rpn-calculator-algo...

11 lines
322 B
Haskell

class Monad m => Logger m where
write :: String -> m ()
instance Logger IO where write = putStr
instance a ~ String => Logger (Writer a) where write = tell
verbose2 f x y = write (show x ++ " " ++
show y ++ " ==> " ++
show res ++ "\n") >> return res
where res = f x y