src/Pure/Isar/class.ML
changeset 62765 5b95a12b7b19
parent 62752 d09d71223e7a
child 62939 ef8d840f39fb
equal deleted inserted replaced
62764:ff3b8e4079bd 62765:5b95a12b7b19
   615 
   615 
   616 fun foundation (((b, U), mx), (b_def, rhs)) params lthy =
   616 fun foundation (((b, U), mx), (b_def, rhs)) params lthy =
   617   (case instantiation_param lthy b of
   617   (case instantiation_param lthy b of
   618     SOME c =>
   618     SOME c =>
   619       if Mixfix.is_empty mx then lthy |> define_overloaded (c, U) (Binding.name_of b) (b_def, rhs)
   619       if Mixfix.is_empty mx then lthy |> define_overloaded (c, U) (Binding.name_of b) (b_def, rhs)
   620       else
   620       else error ("Illegal mixfix syntax for overloaded constant " ^ quote c)
   621         error ("Illegal mixfix syntax for overloaded constant " ^ quote c ^
       
   622           Position.here (Mixfix.pos_of mx))
       
   623   | NONE => lthy |> Generic_Target.theory_target_foundation (((b, U), mx), (b_def, rhs)) params);
   621   | NONE => lthy |> Generic_Target.theory_target_foundation (((b, U), mx), (b_def, rhs)) params);
   624 
   622 
   625 fun pretty lthy =
   623 fun pretty lthy =
   626   let
   624   let
   627     val {arities = (tycos, vs, sort), params} = the_instantiation lthy;
   625     val {arities = (tycos, vs, sort), params} = the_instantiation lthy;