Menu

#430 W-expressions should be forbidden by type checker

new
None
<not fixed>
Type checker
low
bug
2014-10-15
2014-10-15
No

Consider this:

CLASSIFY Lemon ISA Citrus
CLASSIFY Orange ISA Citrus
CLASSIFY Lime ISA Citrus
CLASSIFY Limorange IS Lime /\ Orange

Currently, the following expression is considered correct by the type checker:

ownsCitrus;I[Orange];I[Lime];I[Citrus];I[Lemon]

This expression can never have any population, because there is no concept for any Citrus that is both Lemon and Limorange. (Yes, the example could be simpler, but I cherish the way Martijn thought of this...)

In ShouldFail, I have included Martijn's script called SpecEdit.adl, which he made to test interface functionality. The example is taken from that script.

Discussion