Ready for review: new std.uni

Walter Bright newshound2 at digitalmars.com
Fri Jan 11 12:50:12 PST 2013


On 1/11/2013 11:31 AM, Dmitry Olshansky wrote:
> Anyway it's polished and ready for the good old collective destruction called
> peer review. I'm looking for a review manager.

Thank you for doing this. Some notes:


struct InversionList:

    1. It implements length and empty, but otherwise does not seem to be a 
range, though its name implies it is a container.

    2. The description "InversionList is a packed interval-based data structure 
that represents a set of codepoints." completely baffles me.

    3. The table for opBinary appears twice.

    4. toSourceCode says "if the codepoint". If what codepoint? And what 
funcName is ""?

mapTrieIndex:

    I have no idea what this does from the description. Is it a map like in 
std.algorithms? I.e. does it work with ranges? Need an example.

TrieBuilder:

    1. No description. I'm completely baffled.

    2. putRange? What does that do?

General lack of examples.

Trie:

     Should have a wikipedia link to what a trie is.

buildTrie:

     Contains a number of functions that return auto, but no mention of what is 
returned. While I like auto, in these cases it is not helpful, because the user 
needs to know what type is returned.

Grapheme:

     Should provide an InputRange so a user can iterate over its codepoints. It 
already appears to provide part of the range interface.


sicmp and icmp:

     No reason one should have "in" and the other "inout". Both should be "const".

combiningClass

     What is "the canonicial combining class" ?

General note:

     Needs a section that briefly defines terms, with links to external 
documentation.









More information about the Digitalmars-d mailing list