{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/17155","repository_url":"https://api.github.com/repos/JuliaLang/julia","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/17155/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/17155/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/17155/events","html_url":"https://github.com/JuliaLang/julia/pull/17155","id":162565710,"number":17155,"title":"RFC: boolean ops on function, composition (f∘g)","user":{"login":"StefanKarpinski","id":153596,"avatar_url":"https://avatars.githubusercontent.com/u/153596?v=3","gravatar_id":"","url":"https://api.github.com/users/StefanKarpinski","html_url":"https://github.com/StefanKarpinski","followers_url":"https://api.github.com/users/StefanKarpinski/followers","following_url":"https://api.github.com/users/StefanKarpinski/following{/other_user}","gists_url":"https://api.github.com/users/StefanKarpinski/gists{/gist_id}","starred_url":"https://api.github.com/users/StefanKarpinski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StefanKarpinski/subscriptions","organizations_url":"https://api.github.com/users/StefanKarpinski/orgs","repos_url":"https://api.github.com/users/StefanKarpinski/repos","events_url":"https://api.github.com/users/StefanKarpinski/events{/privacy}","received_events_url":"https://api.github.com/users/StefanKarpinski/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JuliaLang/julia/labels/needs-docs","name":"needs-docs","color":"d4c5f9"},{"url":"https://api.github.com/repos/JuliaLang/julia/labels/needs-tests","name":"needs-tests","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2016-06-27T22:47:28Z","updated_at":"2016-06-29T00:45:04Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/JuliaLang/julia/pulls/17155","html_url":"https://github.com/JuliaLang/julia/pull/17155","diff_url":"https://github.com/JuliaLang/julia/pull/17155.diff","patch_url":"https://github.com/JuliaLang/julia/pull/17155.patch"},"body":""},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/229225940","html_url":"https://github.com/JuliaLang/julia/pull/17155#issuecomment-229225940","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/17155","id":229225940,"user":{"login":"andyferris","id":2974526,"avatar_url":"https://avatars.githubusercontent.com/u/2974526?v=3","gravatar_id":"","url":"https://api.github.com/users/andyferris","html_url":"https://github.com/andyferris","followers_url":"https://api.github.com/users/andyferris/followers","following_url":"https://api.github.com/users/andyferris/following{/other_user}","gists_url":"https://api.github.com/users/andyferris/gists{/gist_id}","starred_url":"https://api.github.com/users/andyferris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andyferris/subscriptions","organizations_url":"https://api.github.com/users/andyferris/orgs","repos_url":"https://api.github.com/users/andyferris/repos","events_url":"https://api.github.com/users/andyferris/events{/privacy}","received_events_url":"https://api.github.com/users/andyferris/received_events","type":"User","site_admin":false},"created_at":"2016-06-29T00:45:04Z","updated_at":"2016-06-29T00:45:04Z","body":"OK, now `&`, `|` and `$` are quite interesting. On one hand, for functions that return `Bool`s, what else would they be?\r\n\r\nOn the other hand, they are a different form of composition to `∘`. They broadcast inputs to more than one function. We haven't really thought about how to design for that - general composition is Julia is probably something like a directed acyclic graph (with splatting and mutability added for fun). What would be amazing (and probably impossible) is a way of writing expressing such graphs, in such a way that it is easier than writing an anonymous function. (E.g. even `! ∘ f` is better than `(x...) -> !f(x...)`). \r\n\r\nFor fun, imagine broadcast over the same input was `⊙`, so that `f ⊙ g == (x...) -> (f(x...), g(x...))`. Then maybe the` f & g` thing would be equivalent to `(& ∘ (f ⊙ g)...)`. Hmm... could get really bad to read, really fast! But still fun to think about. \r\n\r\nAt least, being able to splat a function like that before composition could be useful?"}}
{"actor":{"display_login":"andyferris"}}