--- mueval-0.8-orig/mueval.cabal 2010-04-10 04:21:30.000000000 +1000 +++ mueval-0.8/mueval.cabal 2011-01-04 21:50:40.648753396 +1100 @@ -31,7 +31,7 @@ library exposed-modules: Mueval.Parallel, Mueval.Context, Mueval.Interpreter, Mueval.ArgsParse, Mueval.Resources - build-depends: base>=4 && < 5, containers, directory, mtl<1.2, filepath, unix, process, + build-depends: base>=4 && < 5, containers, directory, mtl<2.1, filepath, unix, process, hint>=0.3.1, show>=0.3, utf8-string, Cabal, extensible-exceptions ghc-options: -Wall -static -O2 --- mueval-0.8-orig/Mueval/Interpreter.hs 2010-04-10 04:21:30.000000000 +1000 +++ mueval-0.8/Mueval/Interpreter.hs 2011-01-04 22:34:56.208447809 +1100 @@ -2,7 +2,7 @@ -- TODO: suggest the convenience functions be put into Hint proper? module Mueval.Interpreter where -import Control.Monad (guard,mplus,unless,when) +import Control.Monad (guard,mplus,unless,when,Functor) import Control.Monad.Trans (MonadIO) import Control.Monad.Writer (Any(..),runWriterT,tell) import Data.Char (isDigit) @@ -118,7 +118,7 @@ exceptionMsg = "*Exception: " -- | Renders the input String including its exceptions using @exceptionMsg@ -render :: (Control.Monad.Trans.MonadIO m) +render :: (Control.Monad.Trans.MonadIO m, Functor m) => Int -- ^ max number of characters to include -> String -- ^ input -> m (String, Bool) -- ^ ( output, @True@ if we found an exception )