{"action":"opened","issue":{"url":"https://api.github.com/repos/TheNavigateur/proposal-pipeline-operator-for-function-composition/issues/9","repository_url":"https://api.github.com/repos/TheNavigateur/proposal-pipeline-operator-for-function-composition","labels_url":"https://api.github.com/repos/TheNavigateur/proposal-pipeline-operator-for-function-composition/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/TheNavigateur/proposal-pipeline-operator-for-function-composition/issues/9/comments","events_url":"https://api.github.com/repos/TheNavigateur/proposal-pipeline-operator-for-function-composition/issues/9/events","html_url":"https://github.com/TheNavigateur/proposal-pipeline-operator-for-function-composition/issues/9","id":304449317,"number":9,"title":"Why are async/generators privileged here?","user":{"login":"tabatkins","id":682840,"avatar_url":"https://avatars0.githubusercontent.com/u/682840?v=4","gravatar_id":"","url":"https://api.github.com/users/tabatkins","html_url":"https://github.com/tabatkins","followers_url":"https://api.github.com/users/tabatkins/followers","following_url":"https://api.github.com/users/tabatkins/following{/other_user}","gists_url":"https://api.github.com/users/tabatkins/gists{/gist_id}","starred_url":"https://api.github.com/users/tabatkins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tabatkins/subscriptions","organizations_url":"https://api.github.com/users/tabatkins/orgs","repos_url":"https://api.github.com/users/tabatkins/repos","events_url":"https://api.github.com/users/tabatkins/events{/privacy}","received_events_url":"https://api.github.com/users/tabatkins/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-03-12T16:39:27Z","updated_at":"2018-03-12T16:39:27Z","closed_at":null,"author_association":"NONE","body":"The big feature that makes this different from some of the other pipeline proposals is that if the function is a generator and/or async, it automagically alters how it calls the remaining chunks of the pipeline, and changes the type of the implicit function created by the pipeline to be generator and/or async as well.\r\n\r\nThis sort of functionality is useful in general, tho - there are *plenty* of \"types\" of values that I might want to have special calling behavior.  For example, one function might return a Maybe value, representing a possibly-failed operation, and want to chain it to the next function in the pipeline only if the first operation succeeded...\r\n\r\nThis is a roundabout way of saying that this proposal is just giving us fmap (call, but for functors), but artificially restricted solely to the iterator and promise functors.  It would be much more compelling if it figured out a way to give us arbitrary fmap and/or bind."}}
{"actor":{"display_login":"tabatkins"}}