On 12/16/13 5:02 PM, Chris Cain wrote:
On Monday, 16 December 2013 at 20:38:52 UTC, Andrei Alexandrescu wrote:
bool between(T, U1, U2)(T v, U1 lo, U2 hi)
{
    return v >= lo && v <= hi;
}

I realize this is, at this point, being retracted. But it would open up
some interesting ideas. It seems a lot like iota, but it could look
pretty cool for some purposes. Consider an alternative API where you
could do things like this:

---
if(x in between(2, 7)) {
    //...
}
---

That's problematic. "Between" is a preposition. Naming a function as a preposition is fine as long as a verb is implied (e.g. "a in b" really means "a _is_ in b", or "a.between(b, c)" really means "a _is_ between b and c" etc).

Reifying "between" to the status of object is weird. One constructs a "between" object and then what are its primitives? How can one even talk about it? "Yeah I have a between here and I copy it to another between"...

"x in between(2, 7)" is cute but just that - it's a lucky strike that relies on word ordering in a particular phrase and is unlikely to work in many other places.


Andrei

Reply via email to