{"action":"created","issue":{"url":"https://api.github.com/repos/smbache/magrittr/issues/101","labels_url":"https://api.github.com/repos/smbache/magrittr/issues/101/labels{/name}","comments_url":"https://api.github.com/repos/smbache/magrittr/issues/101/comments","events_url":"https://api.github.com/repos/smbache/magrittr/issues/101/events","html_url":"https://github.com/smbache/magrittr/issues/101","id":104234639,"number":101,"title":"FR: Pipe operators as S3/S4 methods","user":{"login":"ctbrown","id":3043691,"avatar_url":"https://avatars.githubusercontent.com/u/3043691?v=3","gravatar_id":"","url":"https://api.github.com/users/ctbrown","html_url":"https://github.com/ctbrown","followers_url":"https://api.github.com/users/ctbrown/followers","following_url":"https://api.github.com/users/ctbrown/following{/other_user}","gists_url":"https://api.github.com/users/ctbrown/gists{/gist_id}","starred_url":"https://api.github.com/users/ctbrown/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ctbrown/subscriptions","organizations_url":"https://api.github.com/users/ctbrown/orgs","repos_url":"https://api.github.com/users/ctbrown/repos","events_url":"https://api.github.com/users/ctbrown/events{/privacy}","received_events_url":"https://api.github.com/users/ctbrown/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-09-01T10:18:07Z","updated_at":"2015-09-02T09:56:21Z","closed_at":"2015-09-01T13:13:13Z","body":"@smbache,\r\n\r\nHave you considered making pipe operators into S3 or S4 generics/methods to allow other developers to overload the pipe operators. Would you be interested in a pull request that does this or do you feel this should be accomplished in a separate package?\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/smbache/magrittr/issues/comments/137008797","html_url":"https://github.com/smbache/magrittr/issues/101#issuecomment-137008797","issue_url":"https://api.github.com/repos/smbache/magrittr/issues/101","id":137008797,"user":{"login":"gaborcsardi","id":660288,"avatar_url":"https://avatars.githubusercontent.com/u/660288?v=3","gravatar_id":"","url":"https://api.github.com/users/gaborcsardi","html_url":"https://github.com/gaborcsardi","followers_url":"https://api.github.com/users/gaborcsardi/followers","following_url":"https://api.github.com/users/gaborcsardi/following{/other_user}","gists_url":"https://api.github.com/users/gaborcsardi/gists{/gist_id}","starred_url":"https://api.github.com/users/gaborcsardi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gaborcsardi/subscriptions","organizations_url":"https://api.github.com/users/gaborcsardi/orgs","repos_url":"https://api.github.com/users/gaborcsardi/repos","events_url":"https://api.github.com/users/gaborcsardi/events{/privacy}","received_events_url":"https://api.github.com/users/gaborcsardi/received_events","type":"User","site_admin":false},"created_at":"2015-09-02T09:56:21Z","updated_at":"2015-09-02T09:56:21Z","body":"@ctbrown  I don't think \r\n```r\r\nR6Object %>% public_member %>% mean \r\n```\r\nis more readable than\r\n```r\r\nR6Object $ public_member %>% mean \r\n```\r\nWhy would it be? Because it uses the same operator twice? That makes it actually less readable, because you cannot tell whether `public_member` is a member or a non-member function without looking it up.\r\n\r\nIt is also dangerous. What if one of the packages you import adds `public_member` as a function? Should that be called then? Probably not. What if a base package adds it? So maybe if these name clashes happen you would want the member to have higher priority. But that is also dangerous if the class changes and a `public_member` member is added, because it might mask a non-member function.\r\n\r\nI think it is much better to access the members with a different operator, simply because it is a very different operation.\r\n\r\n"}}