src/HOL/Tools/record_package.ML
changeset 14702 64844b4cc107
parent 14700 2f885b7e5ba7
child 14709 d01983034ded
equal deleted inserted replaced
14701:62a724ce51c7 14702:64844b4cc107
  1225 *) 
  1225 *) 
  1226 fun mk_recordT extT parent_exts = 
  1226 fun mk_recordT extT parent_exts = 
  1227     foldr (fn ((parent,Ts),T) => Type (parent, subst_last T Ts)) (parent_exts,extT);
  1227     foldr (fn ((parent,Ts),T) => Type (parent, subst_last T Ts)) (parent_exts,extT);
  1228 
  1228 
  1229 (* record_definition *)
  1229 (* record_definition *)
  1230 
  1230 fun record_definition (args, bname) parent (parents: parent_info list) raw_fields thy = 
  1231 fun record_definition (args, bname) parent parents raw_fields thy = 
  1231   (* smlnj needs type annotation of parents *)
  1232   let
  1232   let
  1233     val sign = Theory.sign_of thy;
  1233     val sign = Theory.sign_of thy;
  1234 
  1234 
  1235     val alphas = map fst args;
  1235     val alphas = map fst args;
  1236     val name = Sign.full_name sign bname;
  1236     val name = Sign.full_name sign bname;