{"action":"created","issue":{"url":"https://api.github.com/repos/edouarda/brigand/issues/177","repository_url":"https://api.github.com/repos/edouarda/brigand","labels_url":"https://api.github.com/repos/edouarda/brigand/issues/177/labels{/name}","comments_url":"https://api.github.com/repos/edouarda/brigand/issues/177/comments","events_url":"https://api.github.com/repos/edouarda/brigand/issues/177/events","html_url":"https://github.com/edouarda/brigand/issues/177","id":159626252,"number":177,"title":"Rework lambda mechanism to improve speed and usability","user":{"login":"porkybrain","id":10760132,"avatar_url":"https://avatars.githubusercontent.com/u/10760132?v=3","gravatar_id":"","url":"https://api.github.com/users/porkybrain","html_url":"https://github.com/porkybrain","followers_url":"https://api.github.com/users/porkybrain/followers","following_url":"https://api.github.com/users/porkybrain/following{/other_user}","gists_url":"https://api.github.com/users/porkybrain/gists{/gist_id}","starred_url":"https://api.github.com/users/porkybrain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/porkybrain/subscriptions","organizations_url":"https://api.github.com/users/porkybrain/orgs","repos_url":"https://api.github.com/users/porkybrain/repos","events_url":"https://api.github.com/users/porkybrain/events{/privacy}","received_events_url":"https://api.github.com/users/porkybrain/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/edouarda/brigand/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/edouarda/brigand/milestones/3","html_url":"https://github.com/edouarda/brigand/milestones/Version%201.3","labels_url":"https://api.github.com/repos/edouarda/brigand/milestones/3/labels","id":1641978,"number":3,"title":"Version 1.3","description":"","creator":{"login":"edouarda","id":331889,"avatar_url":"https://avatars.githubusercontent.com/u/331889?v=3","gravatar_id":"","url":"https://api.github.com/users/edouarda","html_url":"https://github.com/edouarda","followers_url":"https://api.github.com/users/edouarda/followers","following_url":"https://api.github.com/users/edouarda/following{/other_user}","gists_url":"https://api.github.com/users/edouarda/gists{/gist_id}","starred_url":"https://api.github.com/users/edouarda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edouarda/subscriptions","organizations_url":"https://api.github.com/users/edouarda/orgs","repos_url":"https://api.github.com/users/edouarda/repos","events_url":"https://api.github.com/users/edouarda/events{/privacy}","received_events_url":"https://api.github.com/users/edouarda/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":2,"state":"open","created_at":"2016-03-14T07:28:03Z","updated_at":"2016-06-12T21:11:47Z","due_on":null,"closed_at":null},"comments":62,"created_at":"2016-06-10T12:39:03Z","updated_at":"2016-06-20T17:07:29Z","closed_at":null,"body":"moved here to stop spamming twitter\r\n\r\nEdit:\r\n\r\nRelevant tweet: https://twitter.com/odinthenerd/status/740900401340354560"},"comment":{"url":"https://api.github.com/repos/edouarda/brigand/issues/comments/227205427","html_url":"https://github.com/edouarda/brigand/issues/177#issuecomment-227205427","issue_url":"https://api.github.com/repos/edouarda/brigand/issues/177","id":227205427,"user":{"login":"porkybrain","id":10760132,"avatar_url":"https://avatars.githubusercontent.com/u/10760132?v=3","gravatar_id":"","url":"https://api.github.com/users/porkybrain","html_url":"https://github.com/porkybrain","followers_url":"https://api.github.com/users/porkybrain/followers","following_url":"https://api.github.com/users/porkybrain/following{/other_user}","gists_url":"https://api.github.com/users/porkybrain/gists{/gist_id}","starred_url":"https://api.github.com/users/porkybrain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/porkybrain/subscriptions","organizations_url":"https://api.github.com/users/porkybrain/orgs","repos_url":"https://api.github.com/users/porkybrain/repos","events_url":"https://api.github.com/users/porkybrain/events{/privacy}","received_events_url":"https://api.github.com/users/porkybrain/received_events","type":"User","site_admin":false},"created_at":"2016-06-20T17:07:29Z","updated_at":"2016-06-20T17:07:29Z","body":"yeah pin seems to be the thing people don't like. \r\n\r\nIts not just about stopping recursion (as I originally falsely claimed), if you evaluate everything that is not a pin, a call or an lcall as a lazy function then everything is just pattern matching, no SFINAE tests or anything needed. I am not aware of a non SFINAE test which shows whether a type has a nested type alias (i.e. is a lazy function). Besides the user may want to pass a function as a type so we need something like pin any way. You could alternatively wrap every function but that is bloating the common case rather than the uncommon case. I have not tested the speed of using a SFINAE test but it seems to also be a teachability problem if the use of pin relies on whether a type you want to pass as a type happens to have a nested type alias."}}
{"actor":{"display_login":"porkybrain"}}