Option types and pattern matching.

Dmitry Olshansky via Digitalmars-d digitalmars-d at puremagic.com
Mon Oct 26 06:35:17 PDT 2015


On 26-Oct-2015 12:16, Jacob Carlborg wrote:
> On 2015-10-25 19:23, Dmitry Olshansky wrote:
>
>> I humbly believe that D may just add special re-write rule to the switch
>> statement in order to allow user-defined switchable types. This goes
>> along nicely with the trend - e.g. foreach statement works with anything
>> having static range interfaces or opApply.
>
> Do you think that could handle all different type of patterns? For
> example extractor patterns:
>
> match x {
>      case Foo(bar) => println(bar)
> }
>
> The above is Scala.
>

Scala does it with a bit of re-writes and partially hard-wired logic 
(mostly to optimize). I don't see a problem with it and D would be 
better off with something similar.

Current switch is both too lax (accepts variables) and too rigid (only 
integers, string and soon(?) pointers).

-- 
Dmitry Olshansky


More information about the Digitalmars-d mailing list