On Tue, 29 Oct 2002, David Whipp wrote: : Larry Wall [mailto:larry@;wall.org] wrote: : > : unary (postfix) operators: : > : ... - [maybe] same as ..Inf [Damian votes Yes] : > : > I wonder if we can possibly get the Rubyesque leaving out of : > endpoints by saying something like 1..!10. : : Perhaps we could use the less-than symbol: 1 ..< 10 : : Similarly: 1 >..< 10 == 2..9
That front one is backwards--it would have to be 1 <..< 10. But the biggest problem is that 1..<$iterator> is valid syntax. Of course, ..! and ..^ have the same problem. But it just seems like it's really unlikely that someone would use a unary ! or ^ on the endpoint term. So with 1..!$x or 1..^$x it's likely to be right if we guess (per the longest token rule) that the operator is ..! or ..^. The same can't be said of ..<, alas. But at least it might produce a syntax error when it tries to parse the >. Or no, it wouldn't necessarily. This parses: 1..<$iterator> + 1; but wrongly as 1 ..< $iterator > +1; Ick. Of course, Real Mathematicians will want [1..10) and (1..10] instead. Double ick. I kind like ..^ the best because ^ is currently read "exclusive of" anyway, sort of... And the arrow can be read "up to", at least on that end of it. I think that ..^ is going to be much, much more common than ^.. will be. There's also an issue of what (1..10) - 1 would or should mean, if anything. Does it mean (1..9)? Does 1 + (1..10) mean (2..10)? And what would ('a' .. 'z') - 1 mean? I think I'd better go to bed now... Larry