I am writing a Java program with a call to a  Haskell module  M.hs,
in order to evaluate some expression   expr.
 
A very simple idea, which I got somewhere in the net,  is to create a
Process object p  which executes a GHC command-line instruction:
 
Process p = Runtime.getRuntime();
p.exec( " ghc M.hs  -e \"expr\" " );
 
 
This would be very simple, if it worked...
 
 
My problem is that  expressions i want to evaluate involve
strings, and GHC command-line  'ghc' misinterprets some special symbols when it  parses double quoted strings. 
 
For instance,
     ghc -e  " reverse \"2<3\" "     gives an error!
 
Thus any one know a simple way around this?
 
The only one obvious to me is to create a temporary
Haskell module M_tmp.hs,  with the expression to be evaluated,
which is then executed through   a command-line instruction
like
 ghc M_tmp.hs  -e  main