# HG changeset patch # User Adam Chlipala # Date 1343579256 14400 # Node ID 7530b2b54353ce0871ce08f26a816e1ea7dd5683 # Parent f55f66c6fdeef109db6f195360ae7d182d6756f3 Update for Ur/Web's new type class handling diff -r f55f66c6fdee -r 7530b2b54353 json.ur --- a/json.ur Thu Jul 26 16:48:37 2012 -0400 +++ b/json.ur Sun Jul 29 12:27:36 2012 -0400 @@ -1,5 +1,5 @@ -class json a = {ToJson : a -> string, - FromJson : string -> a * string} +con json a = {ToJson : a -> string, + FromJson : string -> a * string} fun mkJson [a] (x : {ToJson : a -> string, FromJson : string -> a * string}) = x diff -r f55f66c6fdee -r 7530b2b54353 variant.ur --- a/variant.ur Thu Jul 26 16:48:37 2012 -0400 +++ b/variant.ur Sun Jul 29 12:27:36 2012 -0400 @@ -137,7 +137,7 @@ [s::_] [[nm = v] ++ r ~ s] => k [[nm = v] ++ s] ++ {nm = make [nm]}) (fn [s::_] [[] ~ s] => {}) fl [[]] ! -class type_case = fn ts t a => (a -> variant ts) -> a -> t +con type_case ts t a = (a -> variant ts) -> a -> t fun declareCase [ts] [t] [a] (f : (a -> variant ts) -> a -> t) : type_case ts t a = f fun typeCase [ts] [t] (v : variant ts) (dstrs : $(map (type_case ts t) ts)) (fl : folder ts) : t