So the docs are pretty good (e.g. the browsing by trait, struct etc), but imagine if you could add 'search tags' as used in many websites, which needn't actually be language items. These words could be broader concepts (especially equivalent ideas in other languages) that would help the user find something when he's not already familiar with the rust layout and naming schemes. They could also be names of equivalent features in other languages. Search could be refined by entering both tags to find and supress. ('yes i'm looking for more of this.. no i'm looking for less of that').
The core libraries deal with concepts that are very well understood so people find their way around pretty quickly, but what about when dealing with the unknown .. experimental variations, new fields, trying to standardise ideas which aren't well established. Naming is hard, but including synonyms (and antonyms) might help.
they could be specified by some syntax in the doc-comments (wrap them in double square brackets or whatever)
(beyond this, maybe it actually be possible to formalise the idea of registering equivalents in other languages, by actually writing those tags as "c++::map", "haskell::Maybe" etc etc, allowing automatic population of an inter-language equivalence table. extract a "C++ user cheat sheet", "haskeller cheat sheet" etc from columns of that)
So the docs are pretty good (e.g. the browsing by trait, struct etc), but imagine if you could add 'search tags' as used in many websites, which needn't actually be language items. These words could be broader concepts (especially equivalent ideas in other languages) that would help the user find something when he's not already familiar with the rust layout and naming schemes. They could also be names of equivalent features in other languages. Search could be refined by entering both tags to find and supress. ('yes i'm looking for more of this.. no i'm looking for less of that').
The core libraries deal with concepts that are very well understood so people find their way around pretty quickly, but what about when dealing with the unknown .. experimental variations, new fields, trying to standardise ideas which aren't well established. Naming is hard, but including synonyms (and antonyms) might help.
Examples:-
enum Option tags: "Maybe"; "Optional"; "null pointers"; "nullable"; "error handling" struct HashMap tags: "map" "dictionary" "associative array" "hash table" "key value" struct Vec tags: "vector" "dynamic array" "sequence" "random access"
they could be specified by some syntax in the doc-comments (wrap them in double square brackets or whatever)
(beyond this, maybe it actually be possible to formalise the idea of registering equivalents in other languages, by actually writing those tags as "c++::map", "haskell::Maybe" etc etc, allowing automatic population of an inter-language equivalence table. extract a "C++ user cheat sheet", "haskeller cheat sheet" etc from columns of that)