I'm confused between using ranges to generate a lazy list and using them as criteria to match against.
These exclude continuous (non-countable) types- ... > 2. There must be a successor function, so that given an object from > the given domain, say a, successor(a) returns one and only one > value from the same domain. > 3. Given b = successor(a), there is no c so that b > c > a (using the > same operator as above). Rationals and reals can't participate in ranges by the above, which in a sense make sense. You can't ask for all rationals/reals between two endpoints, or the "next rational number bigger than 0". But it does make sense to ask "is $x between 0 and 1 exclusive?" There was a big discussion about this on the list recently but I don't recall the resolutions. And in Darren's example, could one declare a comparator and successor operator for lists, and then get the example to produce ['Foo', 18], ['Foo', 19], ['Foo', 20], ['Foo', 21], ['Foo', 22], ['Foo', 23] ? -y