Adding Unicode operators to D [use cases]
KennyTM~
kennytm at gmail.com
Tue Oct 28 12:49:46 PDT 2008
KennyTM~ wrote:
> bearophile wrote:
>> Sergey Gromov:
>>> I'd use dot "⋅" and cross "×" products for 3D, union "∪" and
>>> intersection "∩", subset "⊂" and superset "⊃" and their
>>> negative forms.
>>> I don't think I'd use anything else.
>>
>> I just want to note that the whole thread is almost unreadable on the
>> digitalmars.com/webnews/, because it doesn't digest unicode chars at
>> all. So adding unicode to D will give problems to show code.
>>
>> Unrelated to the unicode, but related on those opSubset, opSuperset, etc:
>> while implementing a set() class with the same API of the Python sets,
>> I have seen there are the following operators/methods too:
>>
>> issubset(other) set <= other Test whether every element in the set is
>> in other.
>>
>> set < other Test whether the set is a true subset of other, that is,
>> set <= other and set != other.
>>
>> issuperset(other) set >= other Test whether every element in other is
>> in the set.
>>
>> set > other Test whether the set is a true superset of other, that is,
>> set >= other and set != other.
>>
>> A full opCmp can't be defined on sets, so I think in D1 we can't
>> overload <= >= among sets... I think this is a problem has to be
>> solved in D2, because sets are important enough.
>>
>> Bye,
>> bearophile
>
> If the two sets are incomparable, just return NaN... We need an opCmp
> that returns a float :)
Actually I've made a working solution. Even the exotic operators like
!<= (not a subset of, ⊈) works too. It's designed for demonstration, not
performance, though.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: test.d
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-announce/attachments/20081029/a24570ec/attachment.asc>
More information about the Digitalmars-d-announce
mailing list