On Wednesday, September 2, 2015 at 11:21:35 AM UTC-7, Erik Schnetter wrote:
>
> If I recall correctly, the two sets of ASCII bracketing operators ([] and
> {}) were deemed to be more usefully employed for arrays;
>
How has have the curly braces "{" and "}" been reused for arrays in 0.4?
Curly braces have been used to indicate Dicts up until 0.4 (and the syntax
was essentially borrowed from Python/Ruby/others) I have to agree with the
OP and others here that the verbose Dict syntax in 0.4 is pretty ugly. I
didn't realize that was the way it was headed as I haven't done much in 0.4
yet.
>
>
> On Wed, Sep 2, 2015 at 1:29 PM, Michael Francis <[email protected]
> <javascript:>> wrote:
>
>>
>> The arguments given in the thread that Dict 'isn't special' should also
>> also apply to Vector and Array, I presume nobody wants to do away with
>> literal syntax for them as well?
>>
>> There are many times when having a simple terse native (code editor
>> aware) literal syntax for structured data is very useful (in the same way
>> that it is useful for vectors and arrays) and I second what David is
>> saying, it feel like I'm back writing C++/C#/Java et al.
>>
>> Using macros works, but everybody is going to have their own so there
>> will be no consistency across the code base. Dict(...) works without the
>> types so I guess that is the best of a bad bunch.
>>
>> On Wednesday, September 2, 2015 at 1:07:59 PM UTC-4, Isaiah wrote:
>>>
>>> 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 ?
>>>>
>>>>
>>>
>
>
> --
> Erik Schnetter <[email protected] <javascript:>>
> http://www.perimeterinstitute.ca/personal/eschnetter/
>