I agree that syntactic sugar for Dict literal construction would be
appreciated. There were good reasons for removing the previous syntax, but
I think it should be possible to find something more terse than the status
quo.
On Wednesday, September 2, 2015 at 12:45:08 PM UTC-4, Michael Francis wrote:
>
> With the change to 0.4 happening soon I'm finding the the new Dict syntax
> in 0.4 (removal of {}, []) is extremely verbose.
>
> I find myself interfacing with JSON APIs frequently, for example a
> configuration dictionary :
>
> data = {
> :displayrows => 20,
> :cols => [
> { :col => "l1" },
> { :col => "l2" },
> { :col => "l3" },
> { :col => "num", :display => true },
> { :col => "sum", :display => true, :conf => { :style
> => 1, :func => { :method => "sum", :col => "num" } } }
> ]
> ... # Lots more
> }
>
> becomes -
>
> data = Dict{Symbol,Any}(
> :displayrows => 20,
> :cols => [
> Dict{Symbol,Any}( :col => "l1" ),
> Dict{Symbol,Any}( :col => "l2" ),
> Dict{Symbol,Any}( :col => "l3" ),
> Dict{Symbol,Any}( :col => "num", :display => true ),
> Dict{Symbol,Any}( :col => "sum", :display => true, :conf
> => Dict{Symbol,Any}( :style => 1,
> :func
> => Dict{Symbol,Any}( :method => "sum", :col => "num" ) ) )
> ]
> ... # Lots more
> )
>
> This feels like asking a person using arrays to write the following
>
> Array{Int64,2}( Vector{Int64}( 1,2,3), Vector{Int64}( 4,5,6) )
>
> vs
>
> [ [ 1, 2, 3] [ 4,5,6 ] ]
>
> Can we please reconsider ?
>
>