{"action":"created","issue":{"url":"https://api.github.com/repos/unisonweb/unison/issues/144","repository_url":"https://api.github.com/repos/unisonweb/unison","labels_url":"https://api.github.com/repos/unisonweb/unison/issues/144/labels{/name}","comments_url":"https://api.github.com/repos/unisonweb/unison/issues/144/comments","events_url":"https://api.github.com/repos/unisonweb/unison/issues/144/events","html_url":"https://github.com/unisonweb/unison/issues/144","id":209637470,"number":144,"title":"RFC: Unified APIs for distributed programming, durable state, fault-tolerance and live redeployments (v3)","user":{"login":"pchiusano","id":11074,"avatar_url":"https://avatars0.githubusercontent.com/u/11074?v=3","gravatar_id":"","url":"https://api.github.com/users/pchiusano","html_url":"https://github.com/pchiusano","followers_url":"https://api.github.com/users/pchiusano/followers","following_url":"https://api.github.com/users/pchiusano/following{/other_user}","gists_url":"https://api.github.com/users/pchiusano/gists{/gist_id}","starred_url":"https://api.github.com/users/pchiusano/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pchiusano/subscriptions","organizations_url":"https://api.github.com/users/pchiusano/orgs","repos_url":"https://api.github.com/users/pchiusano/repos","events_url":"https://api.github.com/users/pchiusano/events{/privacy}","received_events_url":"https://api.github.com/users/pchiusano/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2017-02-23T01:43:13Z","updated_at":"2017-03-07T15:22:31Z","closed_at":null,"body":"Updated version here:\r\n\r\nhttps://github.com/unisonweb/unison/blob/master/docs/distributed-programming-rfc.markdown\r\n\r\nThanks especially to @atacratic for your detailed comments, also to @refried for feedback (which led to splitting up `Capability` and refining how `Durable` values get loaded / discovered).\r\n\r\nFeeling better about this version than anything previous. (#142, #141)"},"comment":{"url":"https://api.github.com/repos/unisonweb/unison/issues/comments/284752221","html_url":"https://github.com/unisonweb/unison/issues/144#issuecomment-284752221","issue_url":"https://api.github.com/repos/unisonweb/unison/issues/144","id":284752221,"user":{"login":"pchiusano","id":11074,"avatar_url":"https://avatars0.githubusercontent.com/u/11074?v=3","gravatar_id":"","url":"https://api.github.com/users/pchiusano","html_url":"https://github.com/pchiusano","followers_url":"https://api.github.com/users/pchiusano/followers","following_url":"https://api.github.com/users/pchiusano/following{/other_user}","gists_url":"https://api.github.com/users/pchiusano/gists{/gist_id}","starred_url":"https://api.github.com/users/pchiusano/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pchiusano/subscriptions","organizations_url":"https://api.github.com/users/pchiusano/orgs","repos_url":"https://api.github.com/users/pchiusano/repos","events_url":"https://api.github.com/users/pchiusano/events{/privacy}","received_events_url":"https://api.github.com/users/pchiusano/received_events","type":"User","site_admin":false},"created_at":"2017-03-07T15:22:31Z","updated_at":"2017-03-07T15:22:31Z","body":"Task.this was something I considered... I think it's reasonable, though not\nsure how useful it is. (I'd call it Task.current)\n\nNot sure about Task.parent. IMO it's giving too much power to the child\ntasks - a child task should not be able to stop the parent task... think\nabout what that means. In theory you could split Task into two types - the\nthing that you supervise, and the thing that you pass to Task.stop. Then\n`Task.parent` just returns the thing you can supervise. Again, not sure how\nuseful it is.\n\nAnother thing you could do is use the node's Sandbox to control access to\nTask.parent... also not a big fan of this approach either.\n\nOn Mon, Mar 6, 2017 at 4:10 PM, Chris Gibbs <notifications@github.com>\nwrote:\n\n> Hmm, Context from above\n> <https://github.com/unisonweb/unison/issues/144#issuecomment-282170010>\n> wasn't a very good suggestion was it? Heavyweight, clearly not fundamental\n> to distributed computing, obscure use case. I think I was making the\n> mistake of writing an API I might want to code to directly, rather than\n> working out the minimum primitive footprint to support an implementation of\n> that API.\n>\n> So how about this instead?\n>\n> -- Get the current task, that is, the one from which Task.this is being called.Task.this : Remote Task\n> -- Get the task that created the given one (or None if it-- was created from outside Unison.)Task.parent : Task -> Remote (Optional Task)\n>\n> If you have Task.this and Task.parent, you could implement something like\n> Context in library code (as a mutable map keyed on Task - assuming Task\n> can be used as the key of a map).\n>\n> —\n> You are receiving this because you were mentioned.\n> Reply to this email directly, view it on GitHub\n> <https://github.com/unisonweb/unison/issues/144#issuecomment-284533524>,\n> or mute the thread\n> <https://github.com/notifications/unsubscribe-auth/AAArQnmj0JUubboRAQ1HfoFByRKdaGDaks5rjHZhgaJpZM4MJbkC>\n> .\n>\n"}}
{"actor":{"display_login":"pchiusano"}}