equal
deleted
inserted
replaced
338 |
338 |
339 fun mkName (Type (T,args)) = concat (map mkName args) ^ mkUpper (Long_Name.base_name T) |
339 fun mkName (Type (T,args)) = concat (map mkName args) ^ mkUpper (Long_Name.base_name T) |
340 | mkName (TFree (x,_)) = mkUpper (Long_Name.base_name x) |
340 | mkName (TFree (x,_)) = mkUpper (Long_Name.base_name x) |
341 | mkName (TVar ((x,_),_)) = mkUpper (Long_Name.base_name x); |
341 | mkName (TVar ((x,_),_)) = mkUpper (Long_Name.base_name x); |
342 |
342 |
343 fun is_datatype thy n = is_some (Symtab.lookup (Datatype.get_datatypes thy) n); |
343 fun is_datatype thy = is_some o Datatype.get_info thy; |
344 |
344 |
345 fun mk_map "List.list" = Syntax.const "List.map" |
345 fun mk_map "List.list" = Syntax.const "List.map" |
346 | mk_map n = Syntax.const ("StateFun.map_" ^ Long_Name.base_name n); |
346 | mk_map n = Syntax.const ("StateFun.map_" ^ Long_Name.base_name n); |
347 |
347 |
348 fun gen_constr_destr comp prfx thy (Type (T,[])) = |
348 fun gen_constr_destr comp prfx thy (Type (T,[])) = |