-- -- lambda abstraction! -- -- -- needs unsafeEval because eval has a broken Dynamic check -- import System.Eval.Haskell main = do fn <- unsafeEval "(\\x -> (x,x::Int))" [] :: IO (Maybe (Int -> (Int,Int))) when (isJust fn) $ putStrLn $ show $ (fromJust fn) 7