pretty function arrow for diag serializer
authorhaftmann
Tue, 20 Mar 2007 08:27:21 +0100
changeset 22476 088e141084a6
parent 22475 bd3378255cc8
child 22477 be9ae8b19271
pretty function arrow for diag serializer
src/Pure/Tools/codegen_serializer.ML
--- a/src/Pure/Tools/codegen_serializer.ML	Tue Mar 20 08:27:20 2007 +0100
+++ b/src/Pure/Tools/codegen_serializer.ML	Tue Mar 20 08:27:21 2007 +0100
@@ -1473,7 +1473,14 @@
 fun seri_diagnosis labelled_name _ _ _ _ _ code =
   let
     val init_vars = CodegenNames.make_vars reserved_haskell;
-    val pr = pr_haskell (K NONE) (K NONE) (K NONE) labelled_name init_vars I I (K false);
+    fun pr_fun "fun" = SOME (2, fn pr_typ => fn fxy => fn [ty1, ty2] =>
+          brackify_infix (1, R) fxy [
+            pr_typ (INFX (1, X)) ty1,
+            str "->",
+            pr_typ (INFX (1, R)) ty2
+          ])
+      | pr_fun _ = NONE
+    val pr = pr_haskell (K NONE) pr_fun (K NONE) labelled_name init_vars I I (K false);
   in
     []
     |> Graph.fold (fn (name, (def, _)) => case try pr (name, def) of SOME p => cons p | NONE => I) code