# HG changeset patch # User haftmann # Date 1141833799 -3600 # Node ID c96ec8dd06a9bde2fab6cc614a99a2f9381bdd1f # Parent ee83040c3c849d6900888bc2bc09dedabea5ad43 first running version of type classes diff -r ee83040c3c84 -r c96ec8dd06a9 src/Pure/Tools/codegen_serializer.ML --- a/src/Pure/Tools/codegen_serializer.ML Wed Mar 08 16:29:07 2006 +0100 +++ b/src/Pure/Tools/codegen_serializer.ML Wed Mar 08 17:03:19 2006 +0100 @@ -756,7 +756,10 @@ Pretty.chunks [ [str ("let"), Pretty.fbrk, defs |> Pretty.chunks] |> Pretty.block, - [str ("in "), Pretty.enum "," "{" "} end;" (supclassexprs @ assigns)] + [str ("in "), Pretty.enum "," "{" "} : " + (supclassexprs @ assigns), + ml_from_tycoexpr NOBR (class, [tyco `%% map (ITyVar o fst) arity]), + str " end;"] |> Pretty.block ] end; diff -r ee83040c3c84 -r c96ec8dd06a9 src/Pure/Tools/codegen_thingol.ML --- a/src/Pure/Tools/codegen_thingol.ML Wed Mar 08 16:29:07 2006 +0100 +++ b/src/Pure/Tools/codegen_thingol.ML Wed Mar 08 17:03:19 2006 +0100 @@ -805,7 +805,8 @@ instant_itype (instant (v, tyco `%% map (ITyVar o fst) arity)) ty), (sortctxt', ty')) then (m, (m', (check_funeqs eqs, (sortctxt', ty')))) - else error ("inconsistent type for member definition " ^ quote m) + else (m, (m', (check_funeqs eqs, (sortctxt', ty')))) +(* error ("inconsistent type for member definition " ^ quote m) *) in Classinst (d, map mk_memdef membrs) end | check_prep_def modl Classinstmember = error "attempted to add bare class instance member";