-
Notifications
You must be signed in to change notification settings - Fork 287
Description
[Originally requested by mistake under raku repo.]
Problem or new feature
Raku’s ability to use Unicode throughout the language is impressive - very impressive, but many examples in the documentation rely on characters that cannot be typed on most (or in some cases - all) standard keyboards. This makes those examples difficult to reproduce and makes learning Rakudo more difficult. Examples in which I either need to know the Unicode names, the Unicode codepoints, abandon that idea and copy/paste these characters, or lastly, learning to translate what the author wrote (for the sake of novelty) into what I actually will be typing, are unhelpful.
In many places, the primary purpose of these symbols appears to be demonstrating that Raku can interpret arbitrary Unicode in code. It's cool, sure, but it is rarely (if ever) relevant to users trying to understand a language construct.
FWIW, this was one of the reasons I steered away from Rakudo. I had to understand what each character in each example actually meant. ("Is it 《 or is it ⟪ or is it «, and do I use "" or '' or << or (( to replicate it? Why is it part of a say statement?") It was frustrating that every example was trying to show off something unrelated to the topic at hand, and I couldn't see myself writing it.
Partially driving the point home and partially letting out some more steam: if Raku supported syntax written in non-printable control characters or even audio input, those would be fascinating capabilities worth documenting. But they would not belong in everyday examples meant to teach loops, classes, or basic operators.
Suggestions
To improve accessibility and clarity, I suggest:
- Removing Unicode or novelty characters from examples unless they have a relevant value.
- Replacing such examples in the rest of the documentation with ASCII-friendly versions that users can type directly or copy/paste cleanly, so users focus on what's being explained.
- Making sure the Unicode section encompasses all relevant examples that showcase this ability.
That would let Rakudo's main documentation be practical and approachable, and I could stop complaining about it. :)