Oh, I think I see where this is headed now. You're not just worried about the ToJSON instance, you want to make sure we have a matching FromJSON instance. Is that right? I agree that in general it's a bad idea to need to specify both the serialization and deserialization as separate components, instead of defining it once and automatically deriving the serialize/deserialize code from that. That's actually the main motivation for having all the TH code for parsing/rendering routes. Yeah, I think this would make sense for *some* kind of DSL. I'm not sure what exactly it should look like yet, but this is definitely worth a discussion. Michael On Thu, Mar 17, 2011 at 4:34 PM, Max Cantor <mxcantor@gmail.com> wrote:
I'm not saying a DSL/QQ is necessarily the answer, but it very much feels like the "yesod way" of doing things.
max
On Mar 17, 2011, at 10:01 PM, Greg Weber wrote:
I agree that ToJson as is now is biased towards arrays. I have some code like the below now. After we switch over we should make sure it is easy to create key-value objects. Perhaps we will need a second ToJson that is biased towards key-value objects instead of arrays.
documentToJson :: [Field] -> J.Value documentToJson = jsonMap . map toAssoc
toAssoc :: Field -> (String, J.Value) toAssoc (l := v) = (unpack l, toJson v)
On Wed, Mar 16, 2011 at 11:44 PM, Max Cantor <mxcantor@gmail.com> wrote: ToJson doesn't seem to be able to generate JSON objects (key/value maps). Also, one problem that I've had with other generic JSON libs is that they dont give you enough control over the JSON structure. So, you need to write your client code around a particular JSON structure which can be unwieldy at times.
max On Mar 17, 2011, at 1:37 PM, Greg Weber wrote:
Are you using the ToJson converter? I don't think QQ offers much advantage over utilities that can automatically convert haskell data structures to JSON. I believe aeson comes with this functionality and also some generics functionality if you define a Data instance.
http://hackage.haskell.org/packages/archive/json-enumerator/0.0.1/doc/html/T...
On Wed, Mar 16, 2011 at 8:32 PM, Max Cantor <mxcantor@gmail.com> wrote: I know that the kickass yesod team is looking to change the json library to aeson.
One nice feature would be quasi-quoting for the library like in the following library. hackage.haskell.org/packages/archive/text-json-qq/0.2.0/doc/html/Text-JSON-QQ.html _______________________________________________ web-devel mailing list web-devel@haskell.org http://www.haskell.org/mailman/listinfo/web-devel
_______________________________________________ web-devel mailing list web-devel@haskell.org http://www.haskell.org/mailman/listinfo/web-devel