# Improve error message on mapreduce (sum)?

**URL:** <https://discourse.julialang.org/t/improve-error-message-on-mapreduce-sum/24882>\
**Category:** General Usage\
**Tags:** question\
**Created:** [June 3, 2019, 10:21am UTC](https://discourse.julialang.org/t/improve-error-message-on-mapreduce-sum/24882 "2019-06-03T10:21:45Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![floswald](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/floswald/32/195_2.png) [@floswald](https://discourse.julialang.org/u/floswald)\
**Post date:** [June 3, 2019, 10:21am UTC](https://discourse.julialang.org/t/improve-error-message-on-mapreduce-sum/24882/1 "2019-06-03T10:21:45Z")

</div>

hi

is it worth filing an issue that this error message could be improved?

```julia
julia> x = rand(3,4)
3×4 Array{Float64,2}:
 0.0393155 0.125126 0.019893 0.377598 
 0.785163 0.950731 0.968909 0.620597 
 0.999954 0.67239 0.397147 0.0414057

julia> sum(x,2)
ERROR: MethodError: objects of type Array{Float64,2} are not callable
Use square brackets [] for indexing an Array.
Stacktrace:
 [1] mapreduce_first(::Array{Float64,2}, ::Function, ::Int64) at ./reduce.jl:297
 [2] mapreduce(::Array{Float64,2}, ::Function, ::Int64) at ./reduce.jl:324
 [3] sum(::Array{Float64,2}, ::Int64) at ./reduce.jl:399
 [4] top-level scope at none:0

julia> sum(x,dims = 2)
3×1 Array{Float64,2}:
 0.561932448457142
 3.325399087609962
 2.110896964497427

```

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [June 3, 2019, 10:39am UTC](https://discourse.julialang.org/t/improve-error-message-on-mapreduce-sum/24882/2 "2019-06-03T10:39:30Z")

</div>

> [@floswald](#):
>
> is it worth filing an issue that this error message could be improved?

I don’t think so, it would involve all methods that accept a callable as their first argument.

---

<div class="post-metadata">

**Author:** ![mcabbott](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mcabbott/32/6603_2.png) [@mcabbott](https://discourse.julialang.org/u/mcabbott)\
**Post date:** [June 3, 2019, 12:56pm UTC](https://discourse.julialang.org/t/improve-error-message-on-mapreduce-sum/24882/3 "2019-06-03T12:56:46Z")

</div>

Note also that this is Julia 0.6’s notation, for which 0.7 prints has a helpful message:

```julia
julia> sum(x,2)
┌ Warning: `sum(a::AbstractArray, dims)` is deprecated, use `sum(a, dims=dims)` instead.
│ caller = top-level scope at none:0
└ @ Core none:0
3×1 Array{Float64,2}:
 1.6501660369150561
 2.2962250830923114
 2.6909858675277483

```

---

<div class="post-metadata">

**Author:** ![floswald](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/floswald/32/195_2.png) [@floswald](https://discourse.julialang.org/u/floswald)\
**Post date:** [June 3, 2019, 1:00pm UTC](https://discourse.julialang.org/t/improve-error-message-on-mapreduce-sum/24882/4 "2019-06-03T13:00:12Z")

</div>

> [@mcabbott](#):
>
> Note also that this is Julia 0.6’s notation

This is Julia 1.1

That warning message is exactly what I think should be displayed!!
