@@ -80,6 +80,18 @@ polyCasts =
8080 , "castListToJSArray" -:: listOf a ==> jsArray a
8181 ]
8282
83+json =
84+ [ "JsonString" -: string ==> jsonValue
85+ , "JsonBool" -: bool ==> jsonValue
86+ , "JsonNull" -: jsonValue
87+ , "JsonArray" -: listOf jsonValue ==> jsonValue
88+ , "JsonObject" -: jsonObject ==> jsonValue
89+ , numScheme (\n -> n ==> jsonValue) "JsonNumber"
90+ , "toPrettyString" -: string ==> jsonObject ==> string
91+ , "toPrettyJSString" -: string ==> jsonObject ==> jsString
92+ , "toJSString" -: jsonObject ==> jsString
93+ ]
94+
8395
8496-------- Signals --------
8597
@@ -219,5 +231,5 @@ lists =
219231hints =
220232 concat [ funcs, lists, signals, math, bools, str2elem, textAttrs
221233 , elements, directions, colors, lineTypes, shapes
222− , concreteSignals, casts, polyCasts
234+ , concreteSignals, casts, polyCasts, json
223235 ]