src/Tools/Code/code_haskell.ML
changeset 69210 92fde8f61b0d
parent 69207 ae2074acbaa8
child 69593 3dda49e08b9d
equal deleted inserted replaced
69209:3f4210c13356 69210:92fde8f61b0d
    34 
    34 
    35 
    35 
    36 (** Haskell serializer **)
    36 (** Haskell serializer **)
    37 
    37 
    38 val print_haskell_string =
    38 val print_haskell_string =
    39   let
    39   quote o translate_string (fn c =>
    40     fun char c =
    40     if Symbol.is_ascii c then GHC.print_codepoint (ord c)
    41       let
    41     else error "non-ASCII byte in Haskell string literal");
    42         val _ = if Symbol.is_ascii c then ()
       
    43           else error "non-ASCII byte in Haskell string literal";
       
    44         val s = ML_Syntax.print_symbol_char c;
       
    45       in if s = "'" then "\\'" else s end;
       
    46   in quote o translate_string char end;
       
    47 
    42 
    48 fun print_haskell_stmt class_syntax tyco_syntax const_syntax
    43 fun print_haskell_stmt class_syntax tyco_syntax const_syntax
    49     reserved deresolve deriving_show =
    44     reserved deresolve deriving_show =
    50   let
    45   let
    51     val deresolve_const = deresolve o Constant;
    46     val deresolve_const = deresolve o Constant;