{"action":"created","issue":{"url":"https://api.github.com/repos/actor-framework/actor-framework/issues/468","repository_url":"https://api.github.com/repos/actor-framework/actor-framework","labels_url":"https://api.github.com/repos/actor-framework/actor-framework/issues/468/labels{/name}","comments_url":"https://api.github.com/repos/actor-framework/actor-framework/issues/468/comments","events_url":"https://api.github.com/repos/actor-framework/actor-framework/issues/468/events","html_url":"https://github.com/actor-framework/actor-framework/issues/468","id":158104839,"number":468,"title":"Refactoring of 0.15 API","user":{"login":"Neverlord","id":651128,"avatar_url":"https://avatars.githubusercontent.com/u/651128?v=3","gravatar_id":"","url":"https://api.github.com/users/Neverlord","html_url":"https://github.com/Neverlord","followers_url":"https://api.github.com/users/Neverlord/followers","following_url":"https://api.github.com/users/Neverlord/following{/other_user}","gists_url":"https://api.github.com/users/Neverlord/gists{/gist_id}","starred_url":"https://api.github.com/users/Neverlord/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Neverlord/subscriptions","organizations_url":"https://api.github.com/users/Neverlord/orgs","repos_url":"https://api.github.com/users/Neverlord/repos","events_url":"https://api.github.com/users/Neverlord/events{/privacy}","received_events_url":"https://api.github.com/users/Neverlord/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/actor-framework/actor-framework/labels/feedback%20needed","name":"feedback needed","color":"fbca04"},{"url":"https://api.github.com/repos/actor-framework/actor-framework/labels/improvement","name":"improvement","color":"0052cc"},{"url":"https://api.github.com/repos/actor-framework/actor-framework/labels/in%20progress","name":"in progress","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/actor-framework/actor-framework/milestones/3","html_url":"https://github.com/actor-framework/actor-framework/milestones/Version%200.15","labels_url":"https://api.github.com/repos/actor-framework/actor-framework/milestones/3/labels","id":1383466,"number":3,"title":"Version 0.15","description":"This release will:\r\n\r\n- Replace \"implicit environment\" via singletons with a configurable `actor_system` class, see [mailing list discussion](https://groups.google.com/forum/#!topic/actor-framework/XjkOyHTa588)\r\n- Rename `sync_send` to `request` and streamline semantics and API, see [GitHub issue 367](https://github.com/actor-framework/actor-framework/issues/367)","creator":{"login":"Neverlord","id":651128,"avatar_url":"https://avatars.githubusercontent.com/u/651128?v=3","gravatar_id":"","url":"https://api.github.com/users/Neverlord","html_url":"https://github.com/Neverlord","followers_url":"https://api.github.com/users/Neverlord/followers","following_url":"https://api.github.com/users/Neverlord/following{/other_user}","gists_url":"https://api.github.com/users/Neverlord/gists{/gist_id}","starred_url":"https://api.github.com/users/Neverlord/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Neverlord/subscriptions","organizations_url":"https://api.github.com/users/Neverlord/orgs","repos_url":"https://api.github.com/users/Neverlord/repos","events_url":"https://api.github.com/users/Neverlord/events{/privacy}","received_events_url":"https://api.github.com/users/Neverlord/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":21,"state":"open","created_at":"2015-10-29T13:51:48Z","updated_at":"2016-06-02T10:09:17Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2016-06-02T10:09:17Z","updated_at":"2016-06-06T03:26:47Z","closed_at":null,"body":"This issue gathers refactoring requests for 0.15 and announces upcoming changes. The idea is to give all \"early adopters\" a platform for discussion and to announce upcoming changes a few days in advance instead of silently breaking the API every now and then.\r\n\r\nThe first API update will remove the virtual member function `actor_system_config::init`. As pointed out by @mavam in #467, users can simply perform initialization in the default constructor of subclasses. This change will be merged to `develop` on *June 6*.\r\n\r\nAlso raised by @mavam: actor handles don't use a consistent term for describing \"null handles\": `unsafe_actor_handle_init`, `x.unsafe()`, and `invalidate(x)`. The alternative proposal was to go with \"invalid\" in all three cases. I originally preferred \"unsafe\" over \"invalid\", because it is more descriptive. A handle in this state is *unsafe to use*, i.e., can cause undefined behavior. Are there more opinions on this? Maybe I could be convinced to go with `invalid_handle_init`, `x.invalid()`, and `invalidate(x)`."},"comment":{"url":"https://api.github.com/repos/actor-framework/actor-framework/issues/comments/223861413","html_url":"https://github.com/actor-framework/actor-framework/issues/468#issuecomment-223861413","issue_url":"https://api.github.com/repos/actor-framework/actor-framework/issues/468","id":223861413,"user":{"login":"mavam","id":53797,"avatar_url":"https://avatars.githubusercontent.com/u/53797?v=3","gravatar_id":"","url":"https://api.github.com/users/mavam","html_url":"https://github.com/mavam","followers_url":"https://api.github.com/users/mavam/followers","following_url":"https://api.github.com/users/mavam/following{/other_user}","gists_url":"https://api.github.com/users/mavam/gists{/gist_id}","starred_url":"https://api.github.com/users/mavam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mavam/subscriptions","organizations_url":"https://api.github.com/users/mavam/orgs","repos_url":"https://api.github.com/users/mavam/repos","events_url":"https://api.github.com/users/mavam/events{/privacy}","received_events_url":"https://api.github.com/users/mavam/received_events","type":"User","site_admin":false},"created_at":"2016-06-06T03:26:47Z","updated_at":"2016-06-06T03:26:47Z","body":"> Consequently, the thing you should be reaching for instead is `weak_actor_ptr`\r\n\r\nYep, I'll adapt my code accordingly. I think the semantics are equivalent to `optional<actor_addr>`, which was what you proposed in the chat. Except that `weak_actor_ptr` is the first-class structure that enables the that.\r\n\r\n> Probably we should instead rename `invalidate(x)`. I was thinking about `destroy(x)` instead.\r\n\r\nWhatever makes semantically more sense. If it's more about destruction that sheer invalidation, then we should go with that. \r\n\r\n> The use case for this function is to break cycles manually. So it should indicate that using x afterwards is not safe.\r\n"}}
{"actor":{"display_login":"mavam"}}