On Mon, Sep 18, 2000 at 10:35:49AM +0000, John Carter wrote: > This looks like a well flung gauntlet for the wizards of AUTOLOAD (or > something) > > Someone took the Perl 6 RFC 225 Data Superpositions paper and sent it to > ruby talk. > > Matz the author of ruby promptly demonstrated the power and cleanness of > the Ruby iterators. I don't think its quite understood *what* RFC 225 is proposing. any() and all() aren't just some sort of glorified grep() operators. Its quantum superpositions! # The superposition of the states 1,2 and 3 is multipled by 2. $result = any(1,2,3) * 2; # The resulting superposition of the states 2, 4 and 6 then equals # 2, 4 AND 6! if( $result == 2 && $result == 4 ) { print "two fer!" } $result is a superposition of the states 2, 4 and 6 and equals them all! When you examine it, the uncertainty principle kicks in and it collapses to a single scalar value. Consider a test for a prime number: sub is_prime { my ($n) = @_; return $n % all(2..sqrt($n)+1) != 0 } Another example from the docs shows that superpositions may have states which are superpositions. [from the docs] More interestingly, since the individual states of a superposition are scalar values and a superposition is itself a scalar valu e, a superposition may have states that are themselves superpositions: $ideal = any( all("tall", "rich", "handsome"), all("rich", "old"), all("smart","Australian","rich") ); (If you haven't figure out the joke, $ideal eq 'rich') And, of course, it all happens in constant time. [1] Read the docs for Quantum::Superpositions and you'll understand (or maybe you won't) http://search.cpan.org/doc/DCONWAY/Quantum-Superpositions-1.03/lib/Quantum/Superpositions.pm Of course, if you REALLY wanted to make people's heads spin, you can show them Lingua::Romana::Perligata, but alas, it is not yet on CPAN. [1] Assuming you're running this on a quantum supercomputer. -- Michael G Schwern http://www.pobox.com/~schwern/ schwern@pobox.com Just Another Stupid Consultant Perl6 Kwalitee Ashuranse When faced with desperate circumstances, we must adapt. - Seven of Nine ==== Want to unsubscribe from Fun With Perl? Well, if you insist... ==== Send email to <fwp-request@technofile.org> with message _body_ ==== unsubscribe