Sounds like fun. Specs and border cases should be clearly defined:
Code:
iff %value between 500 and 500 then ...
If %value were to be 500, it should be true. Sure, it's obvious for integers... real numbers, not so much.
Code:
iff %value between 500 and 100 then ...
¿Throw an error, or silently invert the numbers?
Code:
iff %value between 'a' and 'z' then ...
Easy enough for plain-old ASCII, but as soon as we consider code pages, etc., it can become rather complex. Should the output of the between operator depend on the active encoding?
Code:
iff %value between "Albert" and "James" then ...
Acceptable?
Code:
iff %value between "Albert" and "james" then ...
Note the lowercase 'j' - "Miguel" would be accepted.
Code:
iff %value between "Albert" and 42 then ...
ERROR! Strong typing FTW :)
What else?