Remember that map! in Red is just a specialized version of hash!.
And hash! is as flexible as block! is.
Understood. The question is not what Red can do, but what Ren should support.
Well, if you move too far from Redbol syntax, I'm not sure where you want to go with Ren.
I would love for Ren to just LOAD in all Redbol langs. But they're not all equal either.
At the beginning, Ren was about promoting the Rebol data format, so that non-Rebol users could enjoy a more human-readable format. But I'm not sure what are the current goals now?
And it needs to balance against a JSON comparison.
My goal is the same. Basically REBOL, perhaps eliminating things to appear simpler, and the need to add a literal map syntax.
If you don't have the need to support construction syntax in Ren, then it frees the #[...] form.
Or you can use #(...) as in Red now (and in Rebol3 in the future).
Right, hence my questions above. Does Ren not care what is in the block structs? If it doesn't enforce name-value pairs in # or #(), then old construction syntax and Red maps are both valid.
I really hope that we also implement -4 proposal from Fork, as a good consensus to what Ladislav requested as strict space requeirements. That would bring us possibility to come up with more forms ....
That's where my thought about # being a hint came from.
is there a website for -4 proposal? Or is that just in terms of Ladislav's CC ticket?
What are you talking about Petr? Case senstiive map keys?
no ... Idon't want to distract chat in this channel, so sorry for that. Ladislav came with the request of strict requirement of spaces even for stuff like [( ....)], should be [ ( .....) ], Fork relaxed it to just 4 cases. But it was supposed to make stuff like 'func(code here) illegal (Doc uses this trick IIRC in R/S, to look more like C func call :-)
>> print("hello") hello >> print["hello"] hello
My understanding was, that it would allow to have various construction forms more easily .... but not sure, if I am not confused :-)
IIRC, it was just on the ticket and not yet written up, but I could be wrong.
We need only a minimal set of forms. I think Ren is at 23 so far. :-)
My thought on simplifying is to reduce most any-string! types to one type (implied string), and collapse both block! and paren! to list. So I would rather not have separate # and #() types with very different rules.