Show
Ignore:
Timestamp:
04/20/05 17:53:21 (4 years ago)
Author:
autrijus
svk:copy_cache_prev:
3669
Message:

* eval_haskell errors are now catchable.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Embed/Haskell.hs

    r2078 r2158  
    66#if !defined(PUGS_HAVE_HSPLUGINS) 
    77 
    8 evalHaskell :: String -> IO String 
    9 evalHaskell _ = do error "need hs-plugins for eval_haskell" 
     8evalHaskell :: String -> IO (Either String String) 
     9evalHaskell _ = return $ Left "need hs-plugins for eval_haskell" 
    1010 
    1111#else 
    1212 
    13 import Eval 
     13import qualified Eval 
    1414 
    15 evalHaskell :: String -> IO String 
     15evalHaskell :: String -> IO (Either String String) 
    1616evalHaskell code = do 
    1717    let imports = [] 
    18     -- eval_ code [import] [flags] [package.confs] [load paths] -> IO (Either [error-strings] (Maybe a)) 
    19     ret <- eval code imports 
     18    -- eval_ code [import] [flags] [package.confs] [load paths] 
     19    --   -> IO (Either [error-strings] (Maybe a)) 
     20    ret <- Eval.eval code imports 
    2021    case ret of 
    21         Just x  -> return x 
    22         Nothing -> fail $ "Couldn't eval haskell code: " ++ code 
     22        Just x  -> return $ Right x 
     23        Nothing -> return $ Left "Couldn't eval haskell code" 
    2324 
    2425#endif