This issue was raised here:
https://github.com/JuliaLang/julia/issues/6739#issuecomment-120149597

I believe the consensus was that nice JSON input syntax could be handled
with a macro.

Also, once the "[ a=>b, ...]" syntax deprecation goes away, I believe this:

    [ :col => "l1", :col => "l2", ... ]

will simply give you an array of Pair objects, which could be translated to
unitary Dicts by JSON.

(FWIW, it is not necessary to specify the argument types to Dict)

On Wed, Sep 2, 2015 at 12:45 PM, Michael Francis <[email protected]>
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 ?
>
>

Reply via email to