http://qs1969.pair.com?node_id=162858


in reply to Re: TIMTOWTDI and other languages
in thread TIMTOWTDI and other languages

Actually, I was thinking about this some and was wondering whether the following would be valid code in Perl 6: @intersection = @alphas =~ @betas; Does anyone know if this will actually work? I looked through the Apocalypses and Exegeses, but I couldn't find any hints of how Perl 6's "smart match" (=~) operator will behave in list context. Unfortunately, searching for "=~" isn't something that search engines make straightforward, so I didn't know how to go about looking elsewhere.

With this more neutral syntax, given the right properties on the arrays involved (e.g. predeclared as "int", and with an is presorted or some such), it may even be possible at compile time to translate some uses of this idiom into efficient, optimized searches instead of the naive, linear default.

Replies are listed 'Best First'.
Re: Re: Re: TIMTOWTDI and other languages
by TheDamian (Vicar) on Apr 30, 2002 at 04:32 UTC
    @intersection = @alphas =~ @betas;
    Does anyone know if this will actually work?

    I seriously doubt it. Larry has never even hinted that =~ will operate like that in a list context.

    Of course, if superpositions do get in then this:

    @intersection = eigenstates(any @alphas =~ any @betas);

    would work.

    And it's possible that the eigenstates operator is superfluous; that a superposition in a list context just yields its eigenstates automatically. In which case you only need this:

    @intersection = any @alphas =~ any @betas;