equal
deleted
inserted
replaced
26 val doublesemicolon: Pretty.T list -> Pretty.T |
26 val doublesemicolon: Pretty.T list -> Pretty.T |
27 val indent: int -> Pretty.T -> Pretty.T |
27 val indent: int -> Pretty.T -> Pretty.T |
28 val markup_stmt: Code_Symbol.T -> Pretty.T -> Pretty.T |
28 val markup_stmt: Code_Symbol.T -> Pretty.T -> Pretty.T |
29 val format: Code_Symbol.T list -> int -> Pretty.T -> string |
29 val format: Code_Symbol.T list -> int -> Pretty.T -> string |
30 |
30 |
31 val first_upper: string -> string |
|
32 val first_lower: string -> string |
|
33 type var_ctxt |
31 type var_ctxt |
34 val make_vars: string list -> var_ctxt |
32 val make_vars: string list -> var_ctxt |
35 val intro_vars: string list -> var_ctxt -> var_ctxt |
33 val intro_vars: string list -> var_ctxt -> var_ctxt |
36 val lookup_var: var_ctxt -> string -> string |
34 val lookup_var: var_ctxt -> string -> string |
37 val intro_base_names: (string -> bool) -> (string -> string) |
35 val intro_base_names: (string -> bool) -> (string -> string) |
173 fun lookup_var (namemap, _) name = |
171 fun lookup_var (namemap, _) name = |
174 case Symtab.lookup namemap name of |
172 case Symtab.lookup namemap name of |
175 SOME name' => name' |
173 SOME name' => name' |
176 | NONE => error ("Invalid name in context: " ^ quote name); |
174 | NONE => error ("Invalid name in context: " ^ quote name); |
177 |
175 |
178 val first_upper = implode o nth_map 0 Symbol.to_ascii_upper o raw_explode; |
|
179 val first_lower = implode o nth_map 0 Symbol.to_ascii_lower o raw_explode; |
|
180 |
|
181 fun aux_params vars lhss = |
176 fun aux_params vars lhss = |
182 let |
177 let |
183 fun fish_param _ (w as SOME _) = w |
178 fun fish_param _ (w as SOME _) = w |
184 | fish_param (IVar (SOME v)) NONE = SOME v |
179 | fish_param (IVar (SOME v)) NONE = SOME v |
185 | fish_param _ NONE = NONE; |
180 | fish_param _ NONE = NONE; |