{"action":"created","issue":{"url":"https://api.github.com/repos/scala/slip/issues/28","labels_url":"https://api.github.com/repos/scala/slip/issues/28/labels{/name}","comments_url":"https://api.github.com/repos/scala/slip/issues/28/comments","events_url":"https://api.github.com/repos/scala/slip/issues/28/events","html_url":"https://github.com/scala/slip/pull/28","id":114982808,"number":28,"title":"Adding standard Json AST","user":{"login":"mdedetrich","id":2337269,"avatar_url":"https://avatars.githubusercontent.com/u/2337269?v=3","gravatar_id":"","url":"https://api.github.com/users/mdedetrich","html_url":"https://github.com/mdedetrich","followers_url":"https://api.github.com/users/mdedetrich/followers","following_url":"https://api.github.com/users/mdedetrich/following{/other_user}","gists_url":"https://api.github.com/users/mdedetrich/gists{/gist_id}","starred_url":"https://api.github.com/users/mdedetrich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mdedetrich/subscriptions","organizations_url":"https://api.github.com/users/mdedetrich/orgs","repos_url":"https://api.github.com/users/mdedetrich/repos","events_url":"https://api.github.com/users/mdedetrich/events{/privacy}","received_events_url":"https://api.github.com/users/mdedetrich/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":180,"created_at":"2015-11-04T06:42:10Z","updated_at":"2015-11-05T01:53:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/scala/slip/pulls/28","html_url":"https://github.com/scala/slip/pull/28","diff_url":"https://github.com/scala/slip/pull/28.diff","patch_url":"https://github.com/scala/slip/pull/28.patch"},"body":"# Moderator's note\r\nThis discussion is about designing an API for a representation of JSON documents that can be shared between many different implementations of JSON parsing/pretty printing/transformation/.... As it's a SLIP, this shared API may eventually ship as a module that's included in the standard set of Scala libraries (e.g., it would be like a modern, minimalist scala-xml).\r\n\r\nEveryone's welcome to join the discussion, provided your contribution is truly a *contribution* to the precise topic of this SLIP, as I tried to capture it above. This SLIP is not trying to solve the general problem of how to modularize the standard library, for example. I'm happy to refine my summary if needed. As always, there are plenty of other channels to discuss other (related) topics.\r\n\r\nTo ensure a productive discussion, please be kind to each other, stay as focussed as possible, and refrain from comments with very little technical content. As we are still refining this SLIP, it's too early to vote.\r\n\r\nThanks,\r\n@adriaanm"},"comment":{"url":"https://api.github.com/repos/scala/slip/issues/comments/153928526","html_url":"https://github.com/scala/slip/pull/28#issuecomment-153928526","issue_url":"https://api.github.com/repos/scala/slip/issues/28","id":153928526,"user":{"login":"jroper","id":105833,"avatar_url":"https://avatars.githubusercontent.com/u/105833?v=3","gravatar_id":"","url":"https://api.github.com/users/jroper","html_url":"https://github.com/jroper","followers_url":"https://api.github.com/users/jroper/followers","following_url":"https://api.github.com/users/jroper/following{/other_user}","gists_url":"https://api.github.com/users/jroper/gists{/gist_id}","starred_url":"https://api.github.com/users/jroper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jroper/subscriptions","organizations_url":"https://api.github.com/users/jroper/orgs","repos_url":"https://api.github.com/users/jroper/repos","events_url":"https://api.github.com/users/jroper/events{/privacy}","received_events_url":"https://api.github.com/users/jroper/received_events","type":"User","site_admin":false},"created_at":"2015-11-05T01:53:21Z","updated_at":"2015-11-05T01:53:21Z","body":"I don't think a single, standardized AST is the goal.  I think an interoperable AST is the goal.  An interoperable AST does not preclude having multiple ASTs, what it does mean is that using different libraries with json support together is as pain free as possible.\r\n\r\nI would totally forsee that the way that some libraries integrate with this is to simply provide convenient conversions to their native AST.\r\n\r\nNow of course, converting between different ASTs has a cost, both in performance and in asymmetry, and this cost counts against interoperability.  But like everything, that cost has to be weighed against the many other concerns at play here - there will be no perfect solution, only a good compromise."}}