{"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":227,"created_at":"2015-11-04T06:42:10Z","updated_at":"2015-11-05T18:13:20Z","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/154141894","html_url":"https://github.com/scala/slip/pull/28#issuecomment-154141894","issue_url":"https://api.github.com/repos/scala/slip/issues/28","id":154141894,"user":{"login":"geggo98","id":54929,"avatar_url":"https://avatars.githubusercontent.com/u/54929?v=3","gravatar_id":"","url":"https://api.github.com/users/geggo98","html_url":"https://github.com/geggo98","followers_url":"https://api.github.com/users/geggo98/followers","following_url":"https://api.github.com/users/geggo98/following{/other_user}","gists_url":"https://api.github.com/users/geggo98/gists{/gist_id}","starred_url":"https://api.github.com/users/geggo98/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geggo98/subscriptions","organizations_url":"https://api.github.com/users/geggo98/orgs","repos_url":"https://api.github.com/users/geggo98/repos","events_url":"https://api.github.com/users/geggo98/events{/privacy}","received_events_url":"https://api.github.com/users/geggo98/received_events","type":"User","site_admin":false},"created_at":"2015-11-05T18:13:20Z","updated_at":"2015-11-05T18:13:20Z","body":"@Ichoran There is not a hard reason, my comment is of course based on opinions. \r\n\r\nLet's just have a look in the past: When Scala was created, XML was a big thing. So Scala integrated special constructs for XML (in the syntax). Now these special constructs are not needed any more. But it is hard to remove them.\r\n\r\nAnd now let's llok in the future: Currently JSON is a big thing. Scala wants to integrate special constructs (this time in the standard library). In a few years we will have something new. But then we will have to deal with removing the JSON constructs from the standard.\r\n\r\nI think this scenario sounds very likely.\r\n\r\nAdding some evidence to my point: We already have `scala.util.parsing.json` in the standard. And it already confuses people, like in the benchmark I referenced in my previous comment. Whatever we add now to the standard, will probably suffer the same fate.\r\n\r\nBack to opinions: In my opinions, things in the standard should be on a very solid foundation that lets them live for a long time. E.g. they could be based on a well known standard (POSIX file interface), solid technical principles (bit, byte, array, float) or a mathematical principle (monads or set theory). Things that go to the standard should not just scratch the most current itch. This can be done better in the surrounding eco system, where we have room for competition and for serving different needs.\r\n\r\n"}}