{"action":"created","issue":{"url":"https://api.github.com/repos/skulpt/skulpt/issues/423","labels_url":"https://api.github.com/repos/skulpt/skulpt/issues/423/labels{/name}","comments_url":"https://api.github.com/repos/skulpt/skulpt/issues/423/comments","events_url":"https://api.github.com/repos/skulpt/skulpt/issues/423/events","html_url":"https://github.com/skulpt/skulpt/pull/423","id":79485885,"number":423,"title":"Implementation of OrderedDict","user":{"login":"rixner","id":1915454,"avatar_url":"https://avatars.githubusercontent.com/u/1915454?v=3","gravatar_id":"","url":"https://api.github.com/users/rixner","html_url":"https://github.com/rixner","followers_url":"https://api.github.com/users/rixner/followers","following_url":"https://api.github.com/users/rixner/following{/other_user}","gists_url":"https://api.github.com/users/rixner/gists{/gist_id}","starred_url":"https://api.github.com/users/rixner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rixner/subscriptions","organizations_url":"https://api.github.com/users/rixner/orgs","repos_url":"https://api.github.com/users/rixner/repos","events_url":"https://api.github.com/users/rixner/events{/privacy}","received_events_url":"https://api.github.com/users/rixner/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"bnmnetp","id":51115,"avatar_url":"https://avatars.githubusercontent.com/u/51115?v=3","gravatar_id":"","url":"https://api.github.com/users/bnmnetp","html_url":"https://github.com/bnmnetp","followers_url":"https://api.github.com/users/bnmnetp/followers","following_url":"https://api.github.com/users/bnmnetp/following{/other_user}","gists_url":"https://api.github.com/users/bnmnetp/gists{/gist_id}","starred_url":"https://api.github.com/users/bnmnetp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bnmnetp/subscriptions","organizations_url":"https://api.github.com/users/bnmnetp/orgs","repos_url":"https://api.github.com/users/bnmnetp/repos","events_url":"https://api.github.com/users/bnmnetp/events{/privacy}","received_events_url":"https://api.github.com/users/bnmnetp/received_events","type":"User","site_admin":false},"milestone":null,"comments":8,"created_at":"2015-05-22T14:55:38Z","updated_at":"2015-05-24T21:10:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/skulpt/skulpt/pulls/423","html_url":"https://github.com/skulpt/skulpt/pull/423","diff_url":"https://github.com/skulpt/skulpt/pull/423.diff","patch_url":"https://github.com/skulpt/skulpt/pull/423.patch"},"body":"This adds the ```OrderedDict``` type to collections.\r\n\r\nI probably will not add ```deque``` and ```namedtuple``` any time soon, so others should feel free to go after those.\r\n\r\nTrying to run the CPython tests exposes that our ```dict``` implementation is missing a lot of features that are probably not as commonly used as the core we have implemented."},"comment":{"url":"https://api.github.com/repos/skulpt/skulpt/issues/comments/105062421","html_url":"https://github.com/skulpt/skulpt/pull/423#issuecomment-105062421","issue_url":"https://api.github.com/repos/skulpt/skulpt/issues/423","id":105062421,"user":{"login":"rixner","id":1915454,"avatar_url":"https://avatars.githubusercontent.com/u/1915454?v=3","gravatar_id":"","url":"https://api.github.com/users/rixner","html_url":"https://github.com/rixner","followers_url":"https://api.github.com/users/rixner/followers","following_url":"https://api.github.com/users/rixner/following{/other_user}","gists_url":"https://api.github.com/users/rixner/gists{/gist_id}","starred_url":"https://api.github.com/users/rixner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rixner/subscriptions","organizations_url":"https://api.github.com/users/rixner/orgs","repos_url":"https://api.github.com/users/rixner/repos","events_url":"https://api.github.com/users/rixner/events{/privacy}","received_events_url":"https://api.github.com/users/rixner/received_events","type":"User","site_admin":false},"created_at":"2015-05-24T21:10:52Z","updated_at":"2015-05-24T21:10:52Z","body":"I am sure that all of the methods are used sometimes by some people.  It's just a question of how common that use is and how much value those methods actually add...\r\n\r\nI agree that ```copy```/```deepcopy``` would have high value, though.  I would like those, too.  However, they are pretty complicated to implement, as they touch almost everything and require a lot of care.  In other contexts, I've even found bugs in the CPython ```deepcopy``` implementation.  Handling recursive structures that have references to themselves buried deeply is pretty complicated.  So, I don't think this is a minor task.\r\n\r\nI don't think there is anything missing on dictionaries that can't be easily accomplished in a different way.  But, I think it would make sense to go through and actually throw a ```NotImplementedError``` on methods that are missing.  I may try to create a pull request for that."}}