HaloO, Dr.Ruud wrote:
What would be the way to define-or-set that a specific hash has non-case-sensitive keys?
There are two things in this: (1) The syntax to type the keys of a hash---too bad that I forgot it and currently don't find it in the Synopsyses. Pointers welcome! (2) A way to constrain a string to be case insensitive. The latter could be nicely stated as subset CaseInsensitive of Str where { .lc eq .uc } but it actually is a constraint on the &infix:<eq>, not on the strings. So I doubt that it works as expected. But then I'm not sure if one can make subsets of operators at all: subset CaseInsensitive of eq where { .lc eq .uc } I guess you have to simply define CaseInsensitive as an alias---that is an unconstraint subset---and overload &infix:<eq>. Then the hash hopefully uses this operator when its key type is CaseInsensitive. --