{"action":"created","issue":{"url":"https://api.github.com/repos/coneoproject/COFFEE/issues/102","repository_url":"https://api.github.com/repos/coneoproject/COFFEE","labels_url":"https://api.github.com/repos/coneoproject/COFFEE/issues/102/labels{/name}","comments_url":"https://api.github.com/repos/coneoproject/COFFEE/issues/102/comments","events_url":"https://api.github.com/repos/coneoproject/COFFEE/issues/102/events","html_url":"https://github.com/coneoproject/COFFEE/pull/102","id":185670104,"number":102,"title":"Adding a check for C++ template kernel functions","user":{"login":"thomasgibson","id":14180421,"avatar_url":"https://avatars.githubusercontent.com/u/14180421?v=3","gravatar_id":"","url":"https://api.github.com/users/thomasgibson","html_url":"https://github.com/thomasgibson","followers_url":"https://api.github.com/users/thomasgibson/followers","following_url":"https://api.github.com/users/thomasgibson/following{/other_user}","gists_url":"https://api.github.com/users/thomasgibson/gists{/gist_id}","starred_url":"https://api.github.com/users/thomasgibson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thomasgibson/subscriptions","organizations_url":"https://api.github.com/users/thomasgibson/orgs","repos_url":"https://api.github.com/users/thomasgibson/repos","events_url":"https://api.github.com/users/thomasgibson/events{/privacy}","received_events_url":"https://api.github.com/users/thomasgibson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"FabioLuporini","id":478143,"avatar_url":"https://avatars.githubusercontent.com/u/478143?v=3","gravatar_id":"","url":"https://api.github.com/users/FabioLuporini","html_url":"https://github.com/FabioLuporini","followers_url":"https://api.github.com/users/FabioLuporini/followers","following_url":"https://api.github.com/users/FabioLuporini/following{/other_user}","gists_url":"https://api.github.com/users/FabioLuporini/gists{/gist_id}","starred_url":"https://api.github.com/users/FabioLuporini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FabioLuporini/subscriptions","organizations_url":"https://api.github.com/users/FabioLuporini/orgs","repos_url":"https://api.github.com/users/FabioLuporini/repos","events_url":"https://api.github.com/users/FabioLuporini/events{/privacy}","received_events_url":"https://api.github.com/users/FabioLuporini/received_events","type":"User","site_admin":false},"assignees":[{"login":"FabioLuporini","id":478143,"avatar_url":"https://avatars.githubusercontent.com/u/478143?v=3","gravatar_id":"","url":"https://api.github.com/users/FabioLuporini","html_url":"https://github.com/FabioLuporini","followers_url":"https://api.github.com/users/FabioLuporini/followers","following_url":"https://api.github.com/users/FabioLuporini/following{/other_user}","gists_url":"https://api.github.com/users/FabioLuporini/gists{/gist_id}","starred_url":"https://api.github.com/users/FabioLuporini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FabioLuporini/subscriptions","organizations_url":"https://api.github.com/users/FabioLuporini/orgs","repos_url":"https://api.github.com/users/FabioLuporini/repos","events_url":"https://api.github.com/users/FabioLuporini/events{/privacy}","received_events_url":"https://api.github.com/users/FabioLuporini/received_events","type":"User","site_admin":false},{"login":"dham","id":848103,"avatar_url":"https://avatars.githubusercontent.com/u/848103?v=3","gravatar_id":"","url":"https://api.github.com/users/dham","html_url":"https://github.com/dham","followers_url":"https://api.github.com/users/dham/followers","following_url":"https://api.github.com/users/dham/following{/other_user}","gists_url":"https://api.github.com/users/dham/gists{/gist_id}","starred_url":"https://api.github.com/users/dham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dham/subscriptions","organizations_url":"https://api.github.com/users/dham/orgs","repos_url":"https://api.github.com/users/dham/repos","events_url":"https://api.github.com/users/dham/events{/privacy}","received_events_url":"https://api.github.com/users/dham/received_events","type":"User","site_admin":false},{"login":"wence-","id":1126981,"avatar_url":"https://avatars.githubusercontent.com/u/1126981?v=3","gravatar_id":"","url":"https://api.github.com/users/wence-","html_url":"https://github.com/wence-","followers_url":"https://api.github.com/users/wence-/followers","following_url":"https://api.github.com/users/wence-/following{/other_user}","gists_url":"https://api.github.com/users/wence-/gists{/gist_id}","starred_url":"https://api.github.com/users/wence-/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wence-/subscriptions","organizations_url":"https://api.github.com/users/wence-/orgs","repos_url":"https://api.github.com/users/wence-/repos","events_url":"https://api.github.com/users/wence-/events{/privacy}","received_events_url":"https://api.github.com/users/wence-/received_events","type":"User","site_admin":false},{"login":"miklos1","id":4210841,"avatar_url":"https://avatars.githubusercontent.com/u/4210841?v=3","gravatar_id":"","url":"https://api.github.com/users/miklos1","html_url":"https://github.com/miklos1","followers_url":"https://api.github.com/users/miklos1/followers","following_url":"https://api.github.com/users/miklos1/following{/other_user}","gists_url":"https://api.github.com/users/miklos1/gists{/gist_id}","starred_url":"https://api.github.com/users/miklos1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miklos1/subscriptions","organizations_url":"https://api.github.com/users/miklos1/orgs","repos_url":"https://api.github.com/users/miklos1/repos","events_url":"https://api.github.com/users/miklos1/events{/privacy}","received_events_url":"https://api.github.com/users/miklos1/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2016-10-27T13:35:06Z","updated_at":"2016-10-28T21:52:47Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/coneoproject/COFFEE/pulls/102","html_url":"https://github.com/coneoproject/COFFEE/pull/102","diff_url":"https://github.com/coneoproject/COFFEE/pull/102.diff","patch_url":"https://github.com/coneoproject/COFFEE/pull/102.patch"},"body":"This PR is made in anticipation of the SLATE merge coming soon. SLATE's tensor compiler produces template kernel functions of the form: `template <typename Derived> static inline ...` in order to populate the SLATE tensors.\r\n\r\nThe proposed change leaves the `static inline` check already present in `coffee/plan.py` (originally I removed them), and adds a check for `template <typename Derived>` in `kernel.pred`. If one is found, the kernel is marked appropriately.\r\n\r\nWhether this is the right solution I think is up for discussion. I opted for a change that doesn't remove any existing checks out of caution. I tested Firedrake with `make alltest` with this branch and everything seems fine."},"comment":{"url":"https://api.github.com/repos/coneoproject/COFFEE/issues/comments/257037960","html_url":"https://github.com/coneoproject/COFFEE/pull/102#issuecomment-257037960","issue_url":"https://api.github.com/repos/coneoproject/COFFEE/issues/102","id":257037960,"user":{"login":"thomasgibson","id":14180421,"avatar_url":"https://avatars.githubusercontent.com/u/14180421?v=3","gravatar_id":"","url":"https://api.github.com/users/thomasgibson","html_url":"https://github.com/thomasgibson","followers_url":"https://api.github.com/users/thomasgibson/followers","following_url":"https://api.github.com/users/thomasgibson/following{/other_user}","gists_url":"https://api.github.com/users/thomasgibson/gists{/gist_id}","starred_url":"https://api.github.com/users/thomasgibson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thomasgibson/subscriptions","organizations_url":"https://api.github.com/users/thomasgibson/orgs","repos_url":"https://api.github.com/users/thomasgibson/repos","events_url":"https://api.github.com/users/thomasgibson/events{/privacy}","received_events_url":"https://api.github.com/users/thomasgibson/received_events","type":"User","site_admin":false},"created_at":"2016-10-28T21:52:47Z","updated_at":"2016-10-28T21:52:47Z","body":"@FabioLuporini So after playing around with this branch, I found that simply extending `class FunDecl` to support template functions was a small, simple addition (as you first suggested). It's not the `class Template` you mentioned, but it keeps the diff small and it doesn't affect any other bits of COFFEE or Firedrake. What are your thoughts?"}}
{"actor":{"display_login":"thomasgibson"}}