{"action":"created","issue":{"url":"https://api.github.com/repos/supercollider/supercollider/issues/2802","repository_url":"https://api.github.com/repos/supercollider/supercollider","labels_url":"https://api.github.com/repos/supercollider/supercollider/issues/2802/labels{/name}","comments_url":"https://api.github.com/repos/supercollider/supercollider/issues/2802/comments","events_url":"https://api.github.com/repos/supercollider/supercollider/issues/2802/events","html_url":"https://github.com/supercollider/supercollider/pull/2802","id":215290742,"number":2802,"title":"Refactor Rest; add Operand class","user":{"login":"telephon","id":1810559,"avatar_url":"https://avatars2.githubusercontent.com/u/1810559?v=3","gravatar_id":"","url":"https://api.github.com/users/telephon","html_url":"https://github.com/telephon","followers_url":"https://api.github.com/users/telephon/followers","following_url":"https://api.github.com/users/telephon/following{/other_user}","gists_url":"https://api.github.com/users/telephon/gists{/gist_id}","starred_url":"https://api.github.com/users/telephon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/telephon/subscriptions","organizations_url":"https://api.github.com/users/telephon/orgs","repos_url":"https://api.github.com/users/telephon/repos","events_url":"https://api.github.com/users/telephon/events{/privacy}","received_events_url":"https://api.github.com/users/telephon/received_events","type":"User","site_admin":false},"labels":[{"id":190319001,"url":"https://api.github.com/repos/supercollider/supercollider/labels/API%20change","name":"API change","color":"fbca04","default":false},{"id":11946377,"url":"https://api.github.com/repos/supercollider/supercollider/labels/comp:%20class%20library","name":"comp: class library","color":"CFFF7D","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/supercollider/supercollider/milestones/11","html_url":"https://github.com/supercollider/supercollider/milestone/11","labels_url":"https://api.github.com/repos/supercollider/supercollider/milestones/11/labels","id":1702022,"number":11,"title":"3.9","description":"","creator":{"login":"crucialfelix","id":218738,"avatar_url":"https://avatars2.githubusercontent.com/u/218738?v=3","gravatar_id":"","url":"https://api.github.com/users/crucialfelix","html_url":"https://github.com/crucialfelix","followers_url":"https://api.github.com/users/crucialfelix/followers","following_url":"https://api.github.com/users/crucialfelix/following{/other_user}","gists_url":"https://api.github.com/users/crucialfelix/gists{/gist_id}","starred_url":"https://api.github.com/users/crucialfelix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crucialfelix/subscriptions","organizations_url":"https://api.github.com/users/crucialfelix/orgs","repos_url":"https://api.github.com/users/crucialfelix/repos","events_url":"https://api.github.com/users/crucialfelix/events{/privacy}","received_events_url":"https://api.github.com/users/crucialfelix/received_events","type":"User","site_admin":false},"open_issues":127,"closed_issues":163,"state":"open","created_at":"2016-04-12T17:52:08Z","updated_at":"2017-03-22T21:44:13Z","due_on":"2017-04-01T07:00:00Z","closed_at":null},"comments":45,"created_at":"2017-03-19T20:07:22Z","updated_at":"2017-03-25T02:22:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/supercollider/supercollider/pulls/2802","html_url":"https://github.com/supercollider/supercollider/pull/2802","diff_url":"https://github.com/supercollider/supercollider/pull/2802.diff","patch_url":"https://github.com/supercollider/supercollider/pull/2802.patch"},"body":"This is a new branch with the changes compressed, from #2361. For the discussion, see there."},"comment":{"url":"https://api.github.com/repos/supercollider/supercollider/issues/comments/289181951","html_url":"https://github.com/supercollider/supercollider/pull/2802#issuecomment-289181951","issue_url":"https://api.github.com/repos/supercollider/supercollider/issues/2802","id":289181951,"user":{"login":"brianlheim","id":15369640,"avatar_url":"https://avatars0.githubusercontent.com/u/15369640?v=3","gravatar_id":"","url":"https://api.github.com/users/brianlheim","html_url":"https://github.com/brianlheim","followers_url":"https://api.github.com/users/brianlheim/followers","following_url":"https://api.github.com/users/brianlheim/following{/other_user}","gists_url":"https://api.github.com/users/brianlheim/gists{/gist_id}","starred_url":"https://api.github.com/users/brianlheim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brianlheim/subscriptions","organizations_url":"https://api.github.com/users/brianlheim/orgs","repos_url":"https://api.github.com/users/brianlheim/repos","events_url":"https://api.github.com/users/brianlheim/events{/privacy}","received_events_url":"https://api.github.com/users/brianlheim/received_events","type":"User","site_admin":false},"created_at":"2017-03-25T02:22:13Z","updated_at":"2017-03-25T02:22:13Z","body":"> The objection was that put should just put and not do any other magic -- though I did point out that there's already a magic-free counterpart to Event, namely IdentityDictionary, and I don't find it a convincing argument that Event's behavior should be kept pure because of its more convenient syntax.\r\n\r\nExactly. `Event` is already a \"magical\" object because it has this added rest-logic; side-effects may be undesirable, but when in the name of state maintenance it's a moot point. Otherwise, you could use that same argument to criticize the `Rational` class currently being proposed because operator `+` also has the \"side effect\" of reducing the rational's numerator and denominator.\r\n\r\n> It would not help the Ptuple-rest case I posted yesterday.\r\n\r\nI need to examine that a little more closely, and will respond later.\r\n\r\n>> one of its dictionary values is \\rest\r\n\r\n> I think that was a proposal but it is not currently implemented that way. You've pointed out \\type -> \\rest but that's different from any key holding the symbol \\rest.\r\n\r\nAh, good to know.\r\n\r\n>> one of its dictionary values is an instance of Meta_Rest\r\n\r\n> Yes.\r\n\r\nThis should produce a warning/info statement though, right? Leaving such a flexible API unpenalized is only going to lead to more pain in the future IMO.\r\n\r\n>> ~detunedFreq points to something that is a rest\r\n\r\n> It would be nice to get rid of this, but that would lose a very convenient syntax: \\degree, Pseq([0, 2, 1, 3, \\, 2, 0]). I'd be happy to dump it but I bet a lot of users would disagree.\r\n\r\nYeah, the syntax is good, but there has _got_ to be a way to engineer it so that it doesn't get stored in `~detunedFreq`... right?\r\n\r\n> Under the proposal in this PR, the one and only correct way to check if an Event is a rest is to call .isRest. All the other logic should be folded into this method, period.\r\n\r\nGreat!"}}
{"actor":{"display_login":"brianlheim"}}