1 (* Title: HOL/Library/Code_Char.thy
3 Author: Florian Haftmann
6 header {* Code generation of pretty characters (and strings) *}
9 imports Plain "~~/src/HOL/List" "~~/src/HOL/Code_Eval"
12 declare char.recs [code func del] char.cases [code func del]
20 fold (fn target => add_literal_char target) ["SML", "OCaml", "Haskell"]
21 #> add_literal_list_string "Haskell"
24 code_instance char :: eq
33 code_const "op = \<Colon> char \<Rightarrow> char \<Rightarrow> bool"
34 (SML "!((_ : char) = _)")
35 (OCaml "!((_ : char) = _)")
36 (Haskell infixl 4 "==")
38 lemma [code func, code func del]:
39 "(Code_Eval.term_of :: char \<Rightarrow> term) = Code_Eval.term_of" ..
41 code_const "Code_Eval.term_of \<Colon> char \<Rightarrow> term"
42 (SML "HOLogic.mk'_char/ (IntInf.fromInt/ (Char.ord/ _))")