{"action":"created","issue":{"url":"https://api.github.com/repos/HadrienG2/phalanstery/issues/25","repository_url":"https://api.github.com/repos/HadrienG2/phalanstery","labels_url":"https://api.github.com/repos/HadrienG2/phalanstery/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/HadrienG2/phalanstery/issues/25/comments","events_url":"https://api.github.com/repos/HadrienG2/phalanstery/issues/25/events","html_url":"https://github.com/HadrienG2/phalanstery/issues/25","id":164657727,"number":25,"title":"Find a better name for Event","user":{"login":"HadrienG2","id":1305080,"avatar_url":"https://avatars.githubusercontent.com/u/1305080?v=3","gravatar_id":"","url":"https://api.github.com/users/HadrienG2","html_url":"https://github.com/HadrienG2","followers_url":"https://api.github.com/users/HadrienG2/followers","following_url":"https://api.github.com/users/HadrienG2/following{/other_user}","gists_url":"https://api.github.com/users/HadrienG2/gists{/gist_id}","starred_url":"https://api.github.com/users/HadrienG2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HadrienG2/subscriptions","organizations_url":"https://api.github.com/users/HadrienG2/orgs","repos_url":"https://api.github.com/users/HadrienG2/repos","events_url":"https://api.github.com/users/HadrienG2/events{/privacy}","received_events_url":"https://api.github.com/users/HadrienG2/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/HadrienG2/phalanstery/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/HadrienG2/phalanstery/milestones/1","html_url":"https://github.com/HadrienG2/phalanstery/milestones/M1%20-%20Stabilize%20core%20package","labels_url":"https://api.github.com/repos/HadrienG2/phalanstery/milestones/1/labels","id":1834247,"number":1,"title":"M1 - Stabilize core package","description":"Before attempting anything high level, the project must rest on solid foundations. At this stage, the aim is to collect as much feedback on the tasking infrastructure as possible, both from the design and implementation point of view. This is also the point where things like naming and licensing must be decided.","creator":{"login":"HadrienG2","id":1305080,"avatar_url":"https://avatars.githubusercontent.com/u/1305080?v=3","gravatar_id":"","url":"https://api.github.com/users/HadrienG2","html_url":"https://github.com/HadrienG2","followers_url":"https://api.github.com/users/HadrienG2/followers","following_url":"https://api.github.com/users/HadrienG2/following{/other_user}","gists_url":"https://api.github.com/users/HadrienG2/gists{/gist_id}","starred_url":"https://api.github.com/users/HadrienG2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HadrienG2/subscriptions","organizations_url":"https://api.github.com/users/HadrienG2/orgs","repos_url":"https://api.github.com/users/HadrienG2/repos","events_url":"https://api.github.com/users/HadrienG2/events{/privacy}","received_events_url":"https://api.github.com/users/HadrienG2/received_events","type":"User","site_admin":false},"open_issues":10,"closed_issues":8,"state":"open","created_at":"2016-06-17T10:15:38Z","updated_at":"2016-07-31T15:56:30Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2016-07-09T08:41:25Z","updated_at":"2016-07-31T15:56:30Z","closed_at":"2016-07-31T15:56:30Z","body":"Following the naming convention of OpenCL, the main inter-job synchronization primitive of this library, which is about notifying a job that another job has completed and thusly ordering operations, is called an Event.\r\n\r\nOne area where we may want to be careful, though, is that \"event\" has many meanings in concurrent programming. In particular, it can also mean a reusable software interrupt, acting as a notification of some reproducible action. For example, GUI controls trigger the same \"event\" whenever actuated, and file notification systems trigger a certain \"event\" whenever a file is modified.\r\n\r\nHandling this kind of event is more complex and not usually needed in computational scenarios, which is why I refrained from doing it in this initial code. But I should not prevent it in the future by using a naming convention that considers job completion as the Only True Kind of event.\r\n\r\nThus, I would suggest renaming the current events to completion events, and leaving room for other events in the future, by moving to the following package hierarchy:\r\n\r\n|- Phalanstery.Events  (leaves room for top-level, general event concepts)\r\n+-- Phalanstery.Events.Completions (content of the former \"Events\" package)"},"comment":{"url":"https://api.github.com/repos/HadrienG2/phalanstery/issues/comments/236437887","html_url":"https://github.com/HadrienG2/phalanstery/issues/25#issuecomment-236437887","issue_url":"https://api.github.com/repos/HadrienG2/phalanstery/issues/25","id":236437887,"user":{"login":"HadrienG2","id":1305080,"avatar_url":"https://avatars.githubusercontent.com/u/1305080?v=3","gravatar_id":"","url":"https://api.github.com/users/HadrienG2","html_url":"https://github.com/HadrienG2","followers_url":"https://api.github.com/users/HadrienG2/followers","following_url":"https://api.github.com/users/HadrienG2/following{/other_user}","gists_url":"https://api.github.com/users/HadrienG2/gists{/gist_id}","starred_url":"https://api.github.com/users/HadrienG2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HadrienG2/subscriptions","organizations_url":"https://api.github.com/users/HadrienG2/orgs","repos_url":"https://api.github.com/users/HadrienG2/repos","events_url":"https://api.github.com/users/HadrienG2/events{/privacy}","received_events_url":"https://api.github.com/users/HadrienG2/received_events","type":"User","site_admin":false},"created_at":"2016-07-31T15:56:30Z","updated_at":"2016-07-31T15:56:30Z","body":"I the end, I went with \"Outcome\" for the actual synchronization primitive, together with the additional concept of \"asynchronous operation\" in the documentation."}}
{"actor":{"display_login":"HadrienG2"}}