adamc@211: class default t = t adamc@211: adamc@212: val string_default : default string = "Hi" adamc@211: val int_default : default int = 0 adamc@211: adamc@211: val default : t :: Type -> default t -> t = adamc@211: fn t :: Type => fn d : default t => d adamc@212: val hi = default [string] _ adamc@211: val zero = default [int] _ adamc@212: adamc@212: val frob : t :: Type -> default t -> t = adamc@212: fn t :: Type => fn _ : default t => default [t] _ adamc@212: val hi_again = frob [string] _ adamc@212: val zero_again = frob [int] _ adamc@212: adamc@212: val main : unit -> page = fn () => adamc@212: {cdata hi_again} adamc@212: