{"action":"created","issue":{"url":"https://api.github.com/repos/supercollider/supercollider/issues/1602","labels_url":"https://api.github.com/repos/supercollider/supercollider/issues/1602/labels{/name}","comments_url":"https://api.github.com/repos/supercollider/supercollider/issues/1602/comments","events_url":"https://api.github.com/repos/supercollider/supercollider/issues/1602/events","html_url":"https://github.com/supercollider/supercollider/pull/1602","id":93748863,"number":1602,"title":"fix: Quarks.load quark set","user":{"login":"crucialfelix","id":218738,"avatar_url":"https://avatars.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},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-07-08T09:44:01Z","updated_at":"2015-09-28T09:55:51Z","closed_at":"2015-09-18T08:06:21Z","pull_request":{"url":"https://api.github.com/repos/supercollider/supercollider/pulls/1602","html_url":"https://github.com/supercollider/supercollider/pull/1602","diff_url":"https://github.com/supercollider/supercollider/pull/1602.diff","patch_url":"https://github.com/supercollider/supercollider/pull/1602.patch"},"body":"previously it was failing to load a quark set file for any quarks that were not previously cloned. it would check them out (switch to the right tag) but it wouldn't clone it if needed.\r\n\r\nalso makes Quarks.load cancelable with command-.\r\ndoes load with some pauses so it does not choke the main app\r\nand updates the gui when its done"},"comment":{"url":"https://api.github.com/repos/supercollider/supercollider/issues/comments/143697501","html_url":"https://github.com/supercollider/supercollider/pull/1602#issuecomment-143697501","issue_url":"https://api.github.com/repos/supercollider/supercollider/issues/1602","id":143697501,"user":{"login":"crucialfelix","id":218738,"avatar_url":"https://avatars.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},"created_at":"2015-09-28T09:55:51Z","updated_at":"2015-09-28T09:55:51Z","body":"// this is how code should look for people that want await syntax\ns.boot.await;\nSynthDef(....).send.await;\ng = Group.new.await;\nSynth(defName).tail(g).await;\n\npersonally I don't plan on doing this kind of step by step imperative code\nat all.\nit makes awful music, its a pain in the ass and it causes all kinds of\nstate bugs.\ncomputers should make these things happen, not composers.\n\n\n\nOn Mon, Sep 28, 2015 at 11:52 AM Chris Sattinger <crucialfelix@gmail.com>\nwrote:\n\n>\n> Yes, there is not really any point if we have to use callbacks to try to\n> make it resemble hipper programming languages.\n>\n> To really make .await useful there would need to be many other common\n> operations in the language (network, server calls) that also implement it\n> so that you can chain things.\n>\n> Also with promises - you want the server boot to be a promise so you can\n> server.boot().then({ { }.play })\n>\n> > But maybe this is not useful for what you want?\n>\n> I don't write any supercollider at all.  I just did the Quarks because you\n> guys needed it done.\n>\n>\n> On Mon, Sep 28, 2015 at 11:46 AM Miguel Negrão <notifications@github.com>\n> wrote:\n>\n>> On 28-09-2015 10:17, Julian Rohrhuber wrote:\n>> > yes, of course you need to pass a function that is called when we are\n>> > ready to continue, so the above direct assignment syntax is not\n>> > currently possible with how the parser works.\n>> >\n>> > But you could have an implementation that is called like this:\n>> >\n>> > |{ ... do something async ... }.await { | result | ... do something\n>> with the result }\n>> > |\n>>\n>> Isn't the point of using coroutines to avoid callbacks ? Code without\n>> callbacks is much easier to manage.\n>>\n>> Best,\n>> Miguel\n>>\n>> —\n>> Reply to this email directly or view it on GitHub\n>> <https://github.com/supercollider/supercollider/pull/1602#issuecomment-143693157>\n>> .\n>>\n>\n"}}