src/HOL/Tools/primrec.ML
changeset 33317 b4534348b8fd
parent 33171 292970b42770
child 33552 506f80a9afe8
equal deleted inserted replaced
33316:6a72af4e84b8 33317:b4534348b8fd
   176 fun get_fns fns ((i : int, (tname, _, constrs)), rec_name) (fs, defs) =
   176 fun get_fns fns ((i : int, (tname, _, constrs)), rec_name) (fs, defs) =
   177   case AList.lookup (op =) fns i of
   177   case AList.lookup (op =) fns i of
   178      NONE =>
   178      NONE =>
   179        let
   179        let
   180          val dummy_fns = map (fn (_, cargs) => Const ("HOL.undefined",
   180          val dummy_fns = map (fn (_, cargs) => Const ("HOL.undefined",
   181            replicate ((length cargs) + (length (List.filter is_rec_type cargs)))
   181            replicate (length cargs + length (filter is_rec_type cargs))
   182              dummyT ---> HOLogic.unitT)) constrs;
   182              dummyT ---> HOLogic.unitT)) constrs;
   183          val _ = warning ("No function definition for datatype " ^ quote tname)
   183          val _ = warning ("No function definition for datatype " ^ quote tname)
   184        in
   184        in
   185          (dummy_fns @ fs, defs)
   185          (dummy_fns @ fs, defs)
   186        end
   186        end