"Hal E. Fulton" wrote:

> ----- Original Message -----
> From: Louis A. Mamakos <louie / TransSys.COM>
> To: ruby-talk ML <ruby-talk / netlab.co.jp>
> Sent: Monday, September 25, 2000 7:12 PM
> Subject: [ruby-talk:5119] Re: Crazy idea? infix method calls
>
> > If most of the motivation to pursue this is to have a more "natural"
> > expression for set membership (e.g., an "in" infix operator), then
> > could you just use a method called "contains" instead which wouldn't
> > require another mechanism.
> >
> > e.g.,  y.contains x
> >
> > which I think reads as naturally as "x in y".
>
> Matter of opinion.
>
> Sets are a fairly rare and unimportant application, I think.
>
> I am more interested in the generalized idea of a container,
> whether it be a set, list, tree, graph, whatever.
>
> And the two reaons I like the "x in y" notation are:
>    1) operands are reversed
>    2) dot is unnecessary
>
> After all, why is there a "for" loop, when all it does is call the "each"
> iterator? We could use "each" instead. We use "for" because it has
> a nice feel to it, though the parser would be simpler without it.
>
> > I just worry that more syntactic sugar which makes figuring out
> > precedence and evaluation order may not really help in the end.
>
> Point taken... but if precedences are chosen wisely (unlike, for
> example, Pascal or arguably C) they are hardly even an issue.
> Just my opinion.
>
> Hal

I'm not certain that sets are necessary to Ruby, but rare?  unimportant?
SQL is built around sets!  I hardly think that rates as rare or
unimportant.  OTOH, it's not really clear that building sets into Ruby would
help in more generalized sets (but then it's not clear to me that it
wouldn't, either).  And there are probably many choices of how if one were
to choose to do this.