equal
deleted
inserted
replaced
124 (fn NONE => "X" |
124 (fn NONE => "X" |
125 | SOME js => enclose "[" "]" (commas (map string_of_int js))) |
125 | SOME js => enclose "[" "]" (commas (map string_of_int js))) |
126 (iss @ [SOME is])); |
126 (iss @ [SOME is])); |
127 |
127 |
128 fun print_modes modes = message ("Inferred modes:\n" ^ |
128 fun print_modes modes = message ("Inferred modes:\n" ^ |
129 space_implode "\n" (map (fn (s, ms) => s ^ ": " ^ commas (map |
129 cat_lines (map (fn (s, ms) => s ^ ": " ^ commas (map |
130 string_of_mode ms)) modes)); |
130 string_of_mode ms)) modes)); |
131 |
131 |
132 val term_vs = map (fst o fst o dest_Var) o term_vars; |
132 val term_vs = map (fst o fst o dest_Var) o term_vars; |
133 val terms_vs = distinct (op =) o List.concat o (map term_vs); |
133 val terms_vs = distinct (op =) o List.concat o (map term_vs); |
134 |
134 |
469 fun lookup_modes gr dep = apfst List.concat (apsnd List.concat (ListPair.unzip |
469 fun lookup_modes gr dep = apfst List.concat (apsnd List.concat (ListPair.unzip |
470 (map ((fn (SOME (Modes x), _, _) => x | _ => ([], [])) o get_node gr) |
470 (map ((fn (SOME (Modes x), _, _) => x | _ => ([], [])) o get_node gr) |
471 (Graph.all_preds (fst gr) [dep])))); |
471 (Graph.all_preds (fst gr) [dep])))); |
472 |
472 |
473 fun print_arities arities = message ("Arities:\n" ^ |
473 fun print_arities arities = message ("Arities:\n" ^ |
474 space_implode "\n" (map (fn (s, (ks, k)) => s ^ ": " ^ |
474 cat_lines (map (fn (s, (ks, k)) => s ^ ": " ^ |
475 space_implode " -> " (map |
475 space_implode " -> " (map |
476 (fn NONE => "X" | SOME k' => string_of_int k') |
476 (fn NONE => "X" | SOME k' => string_of_int k') |
477 (ks @ [SOME k]))) arities)); |
477 (ks @ [SOME k]))) arities)); |
478 |
478 |
479 fun prep_intrs intrs = map (rename_term o #prop o rep_thm o standard) intrs; |
479 fun prep_intrs intrs = map (rename_term o #prop o rep_thm o standard) intrs; |