{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/3893","repository_url":"https://api.github.com/repos/JuliaLang/julia","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/3893/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/3893/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/3893/events","html_url":"https://github.com/JuliaLang/julia/issues/3893","id":17459865,"number":3893,"title":"Make use of mapslices consistent throughout Julia","user":{"login":"johnmyleswhite","id":22064,"avatar_url":"https://avatars.githubusercontent.com/u/22064?v=3","gravatar_id":"","url":"https://api.github.com/users/johnmyleswhite","html_url":"https://github.com/johnmyleswhite","followers_url":"https://api.github.com/users/johnmyleswhite/followers","following_url":"https://api.github.com/users/johnmyleswhite/following{/other_user}","gists_url":"https://api.github.com/users/johnmyleswhite/gists{/gist_id}","starred_url":"https://api.github.com/users/johnmyleswhite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnmyleswhite/subscriptions","organizations_url":"https://api.github.com/users/johnmyleswhite/orgs","repos_url":"https://api.github.com/users/johnmyleswhite/repos","events_url":"https://api.github.com/users/johnmyleswhite/events{/privacy}","received_events_url":"https://api.github.com/users/johnmyleswhite/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JuliaLang/julia/labels/breaking","name":"breaking","color":"800000"},{"url":"https://api.github.com/repos/JuliaLang/julia/labels/decision","name":"decision","color":"F08000"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/JuliaLang/julia/milestones/4","html_url":"https://github.com/JuliaLang/julia/milestones/1.0","labels_url":"https://api.github.com/repos/JuliaLang/julia/milestones/4/labels","id":96266,"number":4,"title":"1.0","description":"","creator":{"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},"open_issues":17,"closed_issues":75,"state":"open","created_at":"2012-03-15T04:57:43Z","updated_at":"2016-07-11T19:18:47Z","due_on":null,"closed_at":null},"comments":24,"created_at":"2013-07-31T16:00:08Z","updated_at":"2016-07-25T17:45:22Z","closed_at":null,"body":"I'd like to propose the radical, breaking change of removing all forms of implicit mapslices calls from Julia. I think they make the language much less consistent and create a situation in which one's expectations are routinely violated about the interface for functions. As an example, the list below shows some functions that effectively implement implicit calls to `mapslices`:\r\n\r\n* sum\r\n* prod\r\n* mean\r\n* var\r\n* std\r\n\r\nIn contrast, the following similar functions do not support the `foo(A, dim)` interface at all:\r\n\r\n* median\r\n* quantile\r\n* indmax / indmin\r\n* findmax / findmin\r\n* Everything defined in the Stats module\r\n\r\nI understand that this change would break a great deal of Matlab compatibility and make the language a little more verbose. But I think the gains in consistency would more than make up for that loss by making the language much less confusing. Removing this shorthand would mean that you wouldn't have to memorize which functions belong to a privileged subset that perform implicit mapslices.\r\n\r\nAs one example of the memorization required to use the `foo(A, dim`) interface, you need to memorize that empty tuples passed to `min` are required to trick `min` into creating slices. I'd much rather know that `mapsplices` works the same way for all functions in the language."},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/235027755","html_url":"https://github.com/JuliaLang/julia/issues/3893#issuecomment-235027755","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/3893","id":235027755,"user":{"login":"KristofferC","id":1282691,"avatar_url":"https://avatars.githubusercontent.com/u/1282691?v=3","gravatar_id":"","url":"https://api.github.com/users/KristofferC","html_url":"https://github.com/KristofferC","followers_url":"https://api.github.com/users/KristofferC/followers","following_url":"https://api.github.com/users/KristofferC/following{/other_user}","gists_url":"https://api.github.com/users/KristofferC/gists{/gist_id}","starred_url":"https://api.github.com/users/KristofferC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KristofferC/subscriptions","organizations_url":"https://api.github.com/users/KristofferC/orgs","repos_url":"https://api.github.com/users/KristofferC/repos","events_url":"https://api.github.com/users/KristofferC/events{/privacy}","received_events_url":"https://api.github.com/users/KristofferC/received_events","type":"User","site_admin":false},"created_at":"2016-07-25T17:45:21Z","updated_at":"2016-07-25T17:45:21Z","body":"I tried poking around a bit yesterday but I had trouble wrapping my head around all the new unconventional index stuff so I wasn't sure what I did was safe or not and when I needed to special case to `indices` or `size` etc."}}
{"actor":{"display_login":"KristofferC"}}