
I have an application written in OCaml that I'm interested in porting over to Haskell, and I was wondering what the best way to replace the following OCaml function would be: Toploop.initialize_toplevel_env();; let eval txt = let lb = (Lexing.from_string txt) in let phr = !Toploop.parse_toplevel_phrase lb in Toploop.execute_phrase true Format.std_formatter phr;; eval "let add1 x = x +1;;";; eval "add1 2;;";; Where I would like to be able to "eval" Haskell-code instead. It looks like I might be able to achieve something like this using hs-plugins, but it looks a bit more complex. Is hs-plugins the best choice for this kind of "meta"-programming? I'm pretty sure Template Haskell will not work for me, at least as I understand it I can only manipulate program fragments that will be compiled later and as such that it will not be possible to execute them until the next "phase".