{"action":"closed","issue":{"url":"https://api.github.com/repos/timedata-org/timedata/issues/123","repository_url":"https://api.github.com/repos/timedata-org/timedata","labels_url":"https://api.github.com/repos/timedata-org/timedata/issues/123/labels{/name}","comments_url":"https://api.github.com/repos/timedata-org/timedata/issues/123/comments","events_url":"https://api.github.com/repos/timedata-org/timedata/issues/123/events","html_url":"https://github.com/timedata-org/timedata/issues/123","id":171713406,"number":123,"title":"Make sure method names are consistent between `Color`, `ColorConst` and `ColorList`.","user":{"login":"rec","id":253362,"avatar_url":"https://avatars.githubusercontent.com/u/253362?v=3","gravatar_id":"","url":"https://api.github.com/users/rec","html_url":"https://github.com/rec","followers_url":"https://api.github.com/users/rec/followers","following_url":"https://api.github.com/users/rec/following{/other_user}","gists_url":"https://api.github.com/users/rec/gists{/gist_id}","starred_url":"https://api.github.com/users/rec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rec/subscriptions","organizations_url":"https://api.github.com/users/rec/orgs","repos_url":"https://api.github.com/users/rec/repos","events_url":"https://api.github.com/users/rec/events{/privacy}","received_events_url":"https://api.github.com/users/rec/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/timedata-org/timedata/labels/+medium","name":"+medium","color":"f9d0c4"},{"url":"https://api.github.com/repos/timedata-org/timedata/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":{"login":"rec","id":253362,"avatar_url":"https://avatars.githubusercontent.com/u/253362?v=3","gravatar_id":"","url":"https://api.github.com/users/rec","html_url":"https://github.com/rec","followers_url":"https://api.github.com/users/rec/followers","following_url":"https://api.github.com/users/rec/following{/other_user}","gists_url":"https://api.github.com/users/rec/gists{/gist_id}","starred_url":"https://api.github.com/users/rec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rec/subscriptions","organizations_url":"https://api.github.com/users/rec/orgs","repos_url":"https://api.github.com/users/rec/repos","events_url":"https://api.github.com/users/rec/events{/privacy}","received_events_url":"https://api.github.com/users/rec/received_events","type":"User","site_admin":false},"assignees":[{"login":"rec","id":253362,"avatar_url":"https://avatars.githubusercontent.com/u/253362?v=3","gravatar_id":"","url":"https://api.github.com/users/rec","html_url":"https://github.com/rec","followers_url":"https://api.github.com/users/rec/followers","following_url":"https://api.github.com/users/rec/following{/other_user}","gists_url":"https://api.github.com/users/rec/gists{/gist_id}","starred_url":"https://api.github.com/users/rec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rec/subscriptions","organizations_url":"https://api.github.com/users/rec/orgs","repos_url":"https://api.github.com/users/rec/repos","events_url":"https://api.github.com/users/rec/events{/privacy}","received_events_url":"https://api.github.com/users/rec/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/timedata-org/timedata/milestones/2","html_url":"https://github.com/timedata-org/timedata/milestones/Version%201.0","labels_url":"https://api.github.com/repos/timedata-org/timedata/milestones/2/labels","id":1845731,"number":2,"title":"Version 1.0","description":"","creator":{"login":"rec","id":253362,"avatar_url":"https://avatars.githubusercontent.com/u/253362?v=3","gravatar_id":"","url":"https://api.github.com/users/rec","html_url":"https://github.com/rec","followers_url":"https://api.github.com/users/rec/followers","following_url":"https://api.github.com/users/rec/following{/other_user}","gists_url":"https://api.github.com/users/rec/gists{/gist_id}","starred_url":"https://api.github.com/users/rec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rec/subscriptions","organizations_url":"https://api.github.com/users/rec/orgs","repos_url":"https://api.github.com/users/rec/repos","events_url":"https://api.github.com/users/rec/events{/privacy}","received_events_url":"https://api.github.com/users/rec/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":30,"state":"open","created_at":"2016-06-23T16:08:19Z","updated_at":"2016-08-17T21:59:50Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2016-08-17T17:22:22Z","updated_at":"2016-08-17T21:59:50Z","closed_at":"2016-08-17T21:59:50Z","body":"Let's take a look at one of the \"most general\" operations:  `add`.\r\n\r\nPlease note that this also has ambiguity we wish to get rid of - because adding for a Python list involves creating a new, longer list, whereas the operation we're most interesting in is arithmetic addition.\r\n\r\nWe need to keep the Python list semantics while keeping the actual symbol `add` for addition.\r\n\r\n---\r\n\r\nQuestion 1:\r\n\r\nRight now, you can say `Color.by_name.red * 0.75` - so `Color` doesn't look like a tuple when it comes to `*` and `+` and arithmetic works neatly.\r\n\r\nIf we lost this, we'd be more consistent between `Color` and `ColorList`  `Color` looks \"very much like a tuple\", except for this one detail.\r\n\r\nNow we'd have to say: `Color.by_name.red.mul(0.75)` - not so bad really.\r\n\r\nOK - done deal I think.  That means that almost all of the magic methods goes away except for two `add`s and two `mul`s (one each in the case of `ColorConst`). \r\n\r\n---\r\n\r\nSo we then have these possible forms of this function:\r\n\r\n* `add` - returns a new instance.\r\n* `add_to` - add and store the result in an existing instance\r\n* `add_into` - add and store the result into `self`.\r\n\r\nI like this.  Very clear!\r\n"}}
{"actor":{"display_login":"rec"}}