What Does "Rebol Has No Keywords" Really Mean?

There has been a "no keywords" mantra to the Rebol language, which has driven the decision that (among other things) true and false should not be anything other than WORD!.

But what does "no keywords" mean? How realistic is the idea, where else do you see this in Rebol?

DATE! literals certainly contain English months, you can't override it with months from other languages without changing the way the code acts... you can't say (ahora: :now, mes: 'month) and then write (fecha: ahora, fecha/mes).

Sure in that case you could say fecha/:mes, but that's twisting the callsite. The point is about where some things have been hardcoded with bias to some words, and those words are English. Isn't that what a "keyword" is?

Why put up a fight? Every other language takes some words away from the user, there's an obvious English bias. Here we have clear evidence from history that even MOLD wants to spit out something WORD!-looking for a LOGIC!. Why not give in, if the system is already breaking the "spirit of the law" and making it impure in other ways?

e.g. might it be better if true and false are surrendered to be non-WORD! type for LOGIC!? People could learn it, and accept they can't override them. If it's a dialect, you can give TRUE and FALSE any meaning you like, it's only DO where the non-WORD!ness is a physical liability. But who's going around saying true: 'banana and false: func [x] [return x + 17] anyway, and if they are, aren't we better out without those users?

1 Like