AltME: Ren - Data Exchange Format

Messages

Gregg
Lua comes to mind, because anything can be a key in a table, correct?
And the complexity of allowing them is offset by the consistency.

Oldes
"Ren spec needs to be kept a simple as possible, while still allowing much more expressivity than JSON."
So you should first of all not think about map! datatype, and use block! (without set-words) or object! (if you want set-words as keys), but map! with just set-word! key is a nonsense.
Oldes
One of real life examples why to use map! (or hash!) instead of block! or object! would be unicode collation http://unicode.org/Public/UCA/6.3.0/allkeys.txt - I don't see any usage there for set-word! keys. But I probably don't understand the main purpose of REN :-)
Rebolek
Actually, it doesn't matter that much, if it is map! or object! -- the thing is not to write "make map! [...]" or "make object! []" in REN (or use construction syntax). It should be simple and usable by people who do not know anything about Rebol.
Oldes
I just wanted to tell that map! with just set-word keys is not a map! and you should not call it this way as it confusing. Actually I joined this just because I saw map! notation syntax discussion... now I see that it's REN group.
(set-word keys in notation - word! keys should be used in my sentectes above)
Gregg
Here are the current Ren references:
    https://github.com/humanistic/REN
    http://pointillistic.com/ren/
The two are not coordinated, and we should bring things together. Not a big issue right now, but it will help avoid confusion.

Gregg

Gregg
Literals for inf and NaN?

DocKimbel
Gregg
Ah, thanks! I'm not sure of how useful they'll be, but if we're talking about passing messages and results around, they could be important in some fields.

Gregg
Should time! values be restricted in number of digits and signs? REBOL allows integer values for hours and minutes, which is converts to sexagecimal values. Minutes can be negative, as can hours of course, but second can't. Negative minutes are subtracted from hours. Also, if you only specify two segments, they are HH:MM if both ints, but if the second is a decimal, it becomes MM.SS.s. And scientific notation is not supported for seconds, nor are decimals for hours or minutes.
The main thing for Ren is that values need to be unambiguous. But what other limitations should be imposed? And should similar rules apply to other segmented numbers (tuple and pair/point)?

DocKimbel
For data exchanges purposes, I think you can stick to a more restricted format for time! than the one allowed by Rebol at runtime, like HH:MM:SS.s and only positive values.
Gregg
That was my original thought as well, and what Ren specs today, with negative hours allowed. That implies that the entire time is negative, which I use today. Consider time ranges. e.g.,  a target time +/- N minutes. I think we can live without mixed sign time values. Mixed sign values aren't intuitive, though their results make sense if you think about them.
On the number of digits, if we limit it to HH:MM:SS.s, do we also say the values have to be valid sexagecimal (00-59)? It complicates the grammar just a bit, and does it provide value over allowing any integer value in a segment?
DocKimbel
I am for sexagecimal values in Ren, as Ren is about representating data, not carrying on computations which could benefit from some extended format for temporary time representations (like negative values).
Gregg
OK. Let's see if anyone else has an opinion.
We'll make a decision in T minus 0:0:5..0:0:4..0:0:3..
DocKimbel
:-)
Rebolek
I agree with limited specs.
Gregg
One of the other nice things about limiting it is that we can later loosen the restrictions if a strong argument can be made to do so.

Last message posted 408 weeks ago.