--- a/src/Tools/Code/code_ml.ML Thu Jun 17 10:45:10 2010 +0200
+++ b/src/Tools/Code/code_ml.ML Thu Jun 17 10:51:38 2010 +0200
@@ -32,7 +32,7 @@
datatype ml_binding =
ML_Function of string * (typscheme * ((iterm list * iterm) * (thm option * bool)) list)
| ML_Instance of string * ((class * (string * (vname * sort) list))
- * (((class * (string * (string * dict list list))) list * (class * class) list list)
+ * ((class * (string * (string * dict list list))) list
* ((string * const) * (thm * bool)) list));
datatype ml_stmt =
@@ -219,7 +219,7 @@
))
end
| print_def is_pseudo_fun _ definer
- (ML_Instance (inst, ((class, (tyco, vs)), ((super_instances, _), classparam_instances)))) =
+ (ML_Instance (inst, ((class, (tyco, vs)), (super_instances, classparam_instances)))) =
let
fun print_super_instance (_, (classrel, dss)) =
concat [
@@ -554,7 +554,7 @@
))
end
| print_def is_pseudo_fun _ definer
- (ML_Instance (inst, ((class, (tyco, vs)), ((super_instances, _), classparam_instances)))) =
+ (ML_Instance (inst, ((class, (tyco, vs)), (super_instances, classparam_instances)))) =
let
fun print_super_instance (_, (classrel, dss)) =
concat [
--- a/src/Tools/Code/code_scala.ML Thu Jun 17 10:45:10 2010 +0200
+++ b/src/Tools/Code/code_scala.ML Thu Jun 17 10:51:38 2010 +0200
@@ -252,7 +252,7 @@
)
end
| print_stmt (name, Code_Thingol.Classinst ((class, (tyco, vs)),
- ((super_instances, _), classparam_instances))) =
+ (super_instances, classparam_instances))) =
let
val tyvars = intro_vars (map fst vs) reserved;
val insttyp = tyco `%% map (ITyVar o fst) vs;
--- a/src/Tools/Code/code_thingol.ML Thu Jun 17 10:45:10 2010 +0200
+++ b/src/Tools/Code/code_thingol.ML Thu Jun 17 10:51:38 2010 +0200
@@ -73,8 +73,7 @@
| Classrel of class * class
| Classparam of string * class
| Classinst of (class * (string * (vname * sort) list) (*class and arity*) )
- * (((class * (string * (string * dict list list))) list (*super instances*)
- * (class * class) list list (*type argument weakening mapping*))
+ * ((class * (string * (string * dict list list))) list (*super instances*)
* ((string * const) * (thm * bool)) list (*class parameter instances*))
type program = stmt Graph.T
val empty_funs: program -> string list
@@ -410,8 +409,7 @@
| Classrel of class * class
| Classparam of string * class
| Classinst of (class * (string * (vname * sort) list))
- * (((class * (string * (string * dict list list))) list
- * (class * class) list list)
+ * ((class * (string * (string * dict list list))) list
* ((string * const) * (thm * bool)) list) (*see also signature*);
type program = stmt Graph.T;
@@ -438,8 +436,8 @@
| map_terms_stmt f (stmt as Class _) = stmt
| map_terms_stmt f (stmt as Classrel _) = stmt
| map_terms_stmt f (stmt as Classparam _) = stmt
- | map_terms_stmt f (Classinst (arity, ((super_instances, weakening), classparams))) =
- Classinst (arity, ((super_instances, weakening), (map o apfst o apsnd) (fn const =>
+ | map_terms_stmt f (Classinst (arity, (super_instances, classparams))) =
+ Classinst (arity, (super_instances, (map o apfst o apsnd) (fn const =>
case f (IConst const) of IConst const' => const') classparams));
fun is_cons program name = case Graph.get_node program name
@@ -640,7 +638,7 @@
##>> fold_map translate_super_instance super_classes
##>> fold_map translate_classparam_instance classparams
#>> (fn ((((class, tyco), arity_args), super_instances), classparam_instances) =>
- Classinst ((class, (tyco, arity_args)), ((super_instances, []), classparam_instances)));
+ Classinst ((class, (tyco, arity_args)), (super_instances, classparam_instances)));
in ensure_stmt lookup_instance (declare_instance thy) stmt_inst (class, tyco) end
and translate_typ thy algbr eqngr permissive (TFree (v, _)) =
pair (ITyVar (unprefix "'" v))
--- a/src/Tools/nbe.ML Thu Jun 17 10:45:10 2010 +0200
+++ b/src/Tools/nbe.ML Thu Jun 17 10:51:38 2010 +0200
@@ -417,7 +417,7 @@
[]
| eqns_of_stmt (_, Code_Thingol.Classparam _) =
[]
- | eqns_of_stmt (inst, Code_Thingol.Classinst ((class, (_, arity_args)), ((super_instances, _), classparam_instances))) =
+ | eqns_of_stmt (inst, Code_Thingol.Classinst ((class, (_, arity_args)), (super_instances, classparam_instances))) =
[(inst, (arity_args, [([], IConst (class, (([], []), [])) `$$
map (fn (_, (_, (inst, dss))) => IConst (inst, (([], dss), []))) super_instances
@ map (IConst o snd o fst) classparam_instances)]))];