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