On May 8, 2012, at 8:33 PM, Göran Krampe wrote:
> On 05/08/2012 07:46 PM, Stéphane Ducasse wrote:
>> for me I can understand that people want a format to exchange objects and
>> that they want to use STON but
>> I do not understand why we need that to store metadata when a simple array
>> works. Probably we love to
>> load our boat with extra readers and writers.
>
> No, it was just a "trigger" for this discussion/comparison.
>
> BUT... I would like you to at least read the parts in my article which is
> about improving the literal support we have in Smalltalk/Pharo. The main
> "problem" with literals that I can see (compared to Tirade) are:
>
> - There is no restricted parser for them (as Tirade is), you need to use
> Compiler and that is a HUGE security problem. But of course, you are fixing
> that, right? :)
:) there is no security problem just that gemstone does not have a parser.
Because parsing cannot be a security hole
this is blind data interpretation that is a problem. This is why Github got
problems and I imagine that the code was probably passed in JSON or similar
format.
> - There is no support for Associations as literals which means there is no
> good support in literals to express Dictionaries/key-value-pairs (like JSON
> has). Tirade has that in the form of literal Associations. I think we should
> add something in this area to Pharo/Smalltalk in general, but for more
> thoughts on that, please see article.
Ok let me try to understand what I do not get.
Do you mean that we cannot distinguish between
#((a 13) 'a' 'b' 1 )
and
#(a -> 13 'a' 'b' 1 )
why
#(Dictionary (a 13) (b 15)) or #(Dictionary ((a 13) (b 15)))
is not the same as
#(Dictionary a-> 13 b ->15)
Now the problem is that a -> 13 is not created at parse time. So I do not get
why
>
> regards, Göran