{"action":"created","comment":{"url":"https://api.github.com/repos/flix/flix/pulls/comments/188102571","pull_request_review_id":120000338,"id":188102571,"diff_hunk":"@@ -281,6 +337,115 @@ object Interpreter {\n     case Expression.Universal(params, exp, loc) => throw InternalRuntimeException(s\"Unexpected expression: '$exp' at ${loc.source.format}.\")\n   }\n \n+  //\n+  // Get value from channel.\n+  //\n+  private def getChannel(chan: Value.Channel): AnyRef = {\n+    var value: AnyRef = null\n+\n+    chan.cLock.lock()\n+    try {\n+      while (chan.queue.isEmpty)\n+        chan.bufferNotFull.await()\n+\n+      assert(!chan.queue.isEmpty)\n+\n+      value = chan.queue.poll()\n+      if (value != null)\n+        chan.bufferNotEmpty.signalAll()\n+    }\n+    finally\n+      chan.cLock.unlock()\n+\n+    value\n+  }\n+\n+  //\n+  // Put value to channel.\n+  //\n+  private def putChannel(chan: Value.Channel, value: AnyRef): AnyRef = {\n+    chan.cLock.lock()\n+    try {\n+      while (chan.queue.size() == chan.capacity)","path":"main/src/ca/uwaterloo/flix/runtime/interpreter/Interpreter.scala","position":110,"original_position":110,"commit_id":"1d22afdfd4ced1a6184e145b21b74df61fc090d0","original_commit_id":"1d22afdfd4ced1a6184e145b21b74df61fc090d0","user":{"login":"magnus-madsen","id":2287953,"avatar_url":"https://avatars2.githubusercontent.com/u/2287953?v=4","gravatar_id":"","url":"https://api.github.com/users/magnus-madsen","html_url":"https://github.com/magnus-madsen","followers_url":"https://api.github.com/users/magnus-madsen/followers","following_url":"https://api.github.com/users/magnus-madsen/following{/other_user}","gists_url":"https://api.github.com/users/magnus-madsen/gists{/gist_id}","starred_url":"https://api.github.com/users/magnus-madsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magnus-madsen/subscriptions","organizations_url":"https://api.github.com/users/magnus-madsen/orgs","repos_url":"https://api.github.com/users/magnus-madsen/repos","events_url":"https://api.github.com/users/magnus-madsen/events{/privacy}","received_events_url":"https://api.github.com/users/magnus-madsen/received_events","type":"User","site_admin":false},"body":"queue.size could be expensive. Check whether it takes linear time...","created_at":"2018-05-14T21:21:23Z","updated_at":"2018-05-14T21:26:31Z","html_url":"https://github.com/flix/flix/pull/602#discussion_r188102571","pull_request_url":"https://api.github.com/repos/flix/flix/pulls/602","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/flix/flix/pulls/comments/188102571"},"html":{"href":"https://github.com/flix/flix/pull/602#discussion_r188102571"},"pull_request":{"href":"https://api.github.com/repos/flix/flix/pulls/602"}}},"pull_request":{"url":"https://api.github.com/repos/flix/flix/pulls/602","id":168560028,"html_url":"https://github.com/flix/flix/pull/602","diff_url":"https://github.com/flix/flix/pull/602.diff","patch_url":"https://github.com/flix/flix/pull/602.patch","issue_url":"https://api.github.com/repos/flix/flix/issues/602","number":602,"state":"open","locked":false,"title":"Concurrency and Parallelism for Flix","user":{"login":"jacobtonder","id":13803549,"avatar_url":"https://avatars1.githubusercontent.com/u/13803549?v=4","gravatar_id":"","url":"https://api.github.com/users/jacobtonder","html_url":"https://github.com/jacobtonder","followers_url":"https://api.github.com/users/jacobtonder/followers","following_url":"https://api.github.com/users/jacobtonder/following{/other_user}","gists_url":"https://api.github.com/users/jacobtonder/gists{/gist_id}","starred_url":"https://api.github.com/users/jacobtonder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacobtonder/subscriptions","organizations_url":"https://api.github.com/users/jacobtonder/orgs","repos_url":"https://api.github.com/users/jacobtonder/repos","events_url":"https://api.github.com/users/jacobtonder/events{/privacy}","received_events_url":"https://api.github.com/users/jacobtonder/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-02-12T11:55:53Z","updated_at":"2018-05-14T21:26:31Z","closed_at":null,"merged_at":null,"merge_commit_sha":"47de63f01bacee1cb9e7ddd17dbc43143ef5db7a","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/flix/flix/pulls/602/commits","review_comments_url":"https://api.github.com/repos/flix/flix/pulls/602/comments","review_comment_url":"https://api.github.com/repos/flix/flix/pulls/comments{/number}","comments_url":"https://api.github.com/repos/flix/flix/issues/602/comments","statuses_url":"https://api.github.com/repos/flix/flix/statuses/1d22afdfd4ced1a6184e145b21b74df61fc090d0","head":{"label":"jacobtonder:d408f18","ref":"d408f18","sha":"1d22afdfd4ced1a6184e145b21b74df61fc090d0","user":{"login":"jacobtonder","id":13803549,"avatar_url":"https://avatars1.githubusercontent.com/u/13803549?v=4","gravatar_id":"","url":"https://api.github.com/users/jacobtonder","html_url":"https://github.com/jacobtonder","followers_url":"https://api.github.com/users/jacobtonder/followers","following_url":"https://api.github.com/users/jacobtonder/following{/other_user}","gists_url":"https://api.github.com/users/jacobtonder/gists{/gist_id}","starred_url":"https://api.github.com/users/jacobtonder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacobtonder/subscriptions","organizations_url":"https://api.github.com/users/jacobtonder/orgs","repos_url":"https://api.github.com/users/jacobtonder/repos","events_url":"https://api.github.com/users/jacobtonder/events{/privacy}","received_events_url":"https://api.github.com/users/jacobtonder/received_events","type":"User","site_admin":false},"repo":{"id":121239958,"name":"flix","full_name":"jacobtonder/flix","owner":{"login":"jacobtonder","id":13803549,"avatar_url":"https://avatars1.githubusercontent.com/u/13803549?v=4","gravatar_id":"","url":"https://api.github.com/users/jacobtonder","html_url":"https://github.com/jacobtonder","followers_url":"https://api.github.com/users/jacobtonder/followers","following_url":"https://api.github.com/users/jacobtonder/following{/other_user}","gists_url":"https://api.github.com/users/jacobtonder/gists{/gist_id}","starred_url":"https://api.github.com/users/jacobtonder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacobtonder/subscriptions","organizations_url":"https://api.github.com/users/jacobtonder/orgs","repos_url":"https://api.github.com/users/jacobtonder/repos","events_url":"https://api.github.com/users/jacobtonder/events{/privacy}","received_events_url":"https://api.github.com/users/jacobtonder/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacobtonder/flix","description":"The Flix Programming Language","fork":true,"url":"https://api.github.com/repos/jacobtonder/flix","forks_url":"https://api.github.com/repos/jacobtonder/flix/forks","keys_url":"https://api.github.com/repos/jacobtonder/flix/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacobtonder/flix/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacobtonder/flix/teams","hooks_url":"https://api.github.com/repos/jacobtonder/flix/hooks","issue_events_url":"https://api.github.com/repos/jacobtonder/flix/issues/events{/number}","events_url":"https://api.github.com/repos/jacobtonder/flix/events","assignees_url":"https://api.github.com/repos/jacobtonder/flix/assignees{/user}","branches_url":"https://api.github.com/repos/jacobtonder/flix/branches{/branch}","tags_url":"https://api.github.com/repos/jacobtonder/flix/tags","blobs_url":"https://api.github.com/repos/jacobtonder/flix/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacobtonder/flix/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacobtonder/flix/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacobtonder/flix/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacobtonder/flix/statuses/{sha}","languages_url":"https://api.github.com/repos/jacobtonder/flix/languages","stargazers_url":"https://api.github.com/repos/jacobtonder/flix/stargazers","contributors_url":"https://api.github.com/repos/jacobtonder/flix/contributors","subscribers_url":"https://api.github.com/repos/jacobtonder/flix/subscribers","subscription_url":"https://api.github.com/repos/jacobtonder/flix/subscription","commits_url":"https://api.github.com/repos/jacobtonder/flix/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacobtonder/flix/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacobtonder/flix/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacobtonder/flix/issues/comments{/number}","contents_url":"https://api.github.com/repos/jacobtonder/flix/contents/{+path}","compare_url":"https://api.github.com/repos/jacobtonder/flix/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacobtonder/flix/merges","archive_url":"https://api.github.com/repos/jacobtonder/flix/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacobtonder/flix/downloads","issues_url":"https://api.github.com/repos/jacobtonder/flix/issues{/number}","pulls_url":"https://api.github.com/repos/jacobtonder/flix/pulls{/number}","milestones_url":"https://api.github.com/repos/jacobtonder/flix/milestones{/number}","notifications_url":"https://api.github.com/repos/jacobtonder/flix/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacobtonder/flix/labels{/name}","releases_url":"https://api.github.com/repos/jacobtonder/flix/releases{/id}","deployments_url":"https://api.github.com/repos/jacobtonder/flix/deployments","created_at":"2018-02-12T11:44:13Z","updated_at":"2018-05-14T15:30:53Z","pushed_at":"2018-05-14T21:03:53Z","git_url":"git://github.com/jacobtonder/flix.git","ssh_url":"git@github.com:jacobtonder/flix.git","clone_url":"https://github.com/jacobtonder/flix.git","svn_url":"https://github.com/jacobtonder/flix","homepage":"http://flix.github.io","size":67075,"stargazers_count":0,"watchers_count":0,"language":"Scala","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":1,"watchers":0,"default_branch":"d408f18"}},"base":{"label":"flix:d408f18","ref":"d408f18","sha":"0bcd59c43282e715962cdc814f5c47d5f5c35210","user":{"login":"flix","id":16831634,"avatar_url":"https://avatars3.githubusercontent.com/u/16831634?v=4","gravatar_id":"","url":"https://api.github.com/users/flix","html_url":"https://github.com/flix","followers_url":"https://api.github.com/users/flix/followers","following_url":"https://api.github.com/users/flix/following{/other_user}","gists_url":"https://api.github.com/users/flix/gists{/gist_id}","starred_url":"https://api.github.com/users/flix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flix/subscriptions","organizations_url":"https://api.github.com/users/flix/orgs","repos_url":"https://api.github.com/users/flix/repos","events_url":"https://api.github.com/users/flix/events{/privacy}","received_events_url":"https://api.github.com/users/flix/received_events","type":"Organization","site_admin":false},"repo":{"id":37299718,"name":"flix","full_name":"flix/flix","owner":{"login":"flix","id":16831634,"avatar_url":"https://avatars3.githubusercontent.com/u/16831634?v=4","gravatar_id":"","url":"https://api.github.com/users/flix","html_url":"https://github.com/flix","followers_url":"https://api.github.com/users/flix/followers","following_url":"https://api.github.com/users/flix/following{/other_user}","gists_url":"https://api.github.com/users/flix/gists{/gist_id}","starred_url":"https://api.github.com/users/flix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flix/subscriptions","organizations_url":"https://api.github.com/users/flix/orgs","repos_url":"https://api.github.com/users/flix/repos","events_url":"https://api.github.com/users/flix/events{/privacy}","received_events_url":"https://api.github.com/users/flix/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/flix/flix","description":"The Flix Programming Language","fork":false,"url":"https://api.github.com/repos/flix/flix","forks_url":"https://api.github.com/repos/flix/flix/forks","keys_url":"https://api.github.com/repos/flix/flix/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flix/flix/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flix/flix/teams","hooks_url":"https://api.github.com/repos/flix/flix/hooks","issue_events_url":"https://api.github.com/repos/flix/flix/issues/events{/number}","events_url":"https://api.github.com/repos/flix/flix/events","assignees_url":"https://api.github.com/repos/flix/flix/assignees{/user}","branches_url":"https://api.github.com/repos/flix/flix/branches{/branch}","tags_url":"https://api.github.com/repos/flix/flix/tags","blobs_url":"https://api.github.com/repos/flix/flix/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flix/flix/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flix/flix/git/refs{/sha}","trees_url":"https://api.github.com/repos/flix/flix/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flix/flix/statuses/{sha}","languages_url":"https://api.github.com/repos/flix/flix/languages","stargazers_url":"https://api.github.com/repos/flix/flix/stargazers","contributors_url":"https://api.github.com/repos/flix/flix/contributors","subscribers_url":"https://api.github.com/repos/flix/flix/subscribers","subscription_url":"https://api.github.com/repos/flix/flix/subscription","commits_url":"https://api.github.com/repos/flix/flix/commits{/sha}","git_commits_url":"https://api.github.com/repos/flix/flix/git/commits{/sha}","comments_url":"https://api.github.com/repos/flix/flix/comments{/number}","issue_comment_url":"https://api.github.com/repos/flix/flix/issues/comments{/number}","contents_url":"https://api.github.com/repos/flix/flix/contents/{+path}","compare_url":"https://api.github.com/repos/flix/flix/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flix/flix/merges","archive_url":"https://api.github.com/repos/flix/flix/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flix/flix/downloads","issues_url":"https://api.github.com/repos/flix/flix/issues{/number}","pulls_url":"https://api.github.com/repos/flix/flix/pulls{/number}","milestones_url":"https://api.github.com/repos/flix/flix/milestones{/number}","notifications_url":"https://api.github.com/repos/flix/flix/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flix/flix/labels{/name}","releases_url":"https://api.github.com/repos/flix/flix/releases{/id}","deployments_url":"https://api.github.com/repos/flix/flix/deployments","created_at":"2015-06-12T03:20:35Z","updated_at":"2018-05-14T17:35:46Z","pushed_at":"2018-05-14T17:35:47Z","git_url":"git://github.com/flix/flix.git","ssh_url":"git@github.com:flix/flix.git","clone_url":"https://github.com/flix/flix.git","svn_url":"https://github.com/flix/flix","homepage":"http://flix.github.io","size":66653,"stargazers_count":164,"watchers_count":164,"language":"Scala","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":20,"mirror_url":null,"archived":false,"open_issues_count":84,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":20,"open_issues":84,"watchers":164,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/flix/flix/pulls/602"},"html":{"href":"https://github.com/flix/flix/pull/602"},"issue":{"href":"https://api.github.com/repos/flix/flix/issues/602"},"comments":{"href":"https://api.github.com/repos/flix/flix/issues/602/comments"},"review_comments":{"href":"https://api.github.com/repos/flix/flix/pulls/602/comments"},"review_comment":{"href":"https://api.github.com/repos/flix/flix/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/flix/flix/pulls/602/commits"},"statuses":{"href":"https://api.github.com/repos/flix/flix/statuses/1d22afdfd4ced1a6184e145b21b74df61fc090d0"}},"author_association":"NONE"}}
{"actor":{"display_login":"magnus-madsen"}}