in reply to Re: (tye)Re4: regexp searches over array slices
in thread regexp searches over array slices

Ah, then would evaluating a(n uncollapsed) superposition in a Boolean context generate a warning/error or would it cause both branches of the code to be (tentatively) run and the results to be indeterminate until something is done to collapse the (expanding) superposition? ;)

This could add "logic programming" to Perl's bag of paradigms.

        - tye (but my friends call me "Tye")
  • Comment on (tye)Re5: regexp searches over array slices

Replies are listed 'Best First'.
Re: (tye)Re5: regexp searches over array slices
by TheDamian (Vicar) on Nov 16, 2001 at 01:34 UTC
    ...would evaluating a(n uncollapsed) superposition in a Boolean context generate a warning/error or would it cause both branches of the code to be (tentatively) run and the results to be indeterminate until something is done to collapse the (expanding) superposition? ;)

    Err...neither.

    In a boolean context, a disjunctive superposition evaluates to true if any of its eigenstates is true, whilst a conjunctive superposition evaluates to true only if all of its eigenstates are true.

    This could add "logic programming" to Perl's bag of paradigms.

    Sssssssssshhhhhhhhhhhh!!!!!!! How the heck am I supposed to sneak these new paradigms in if you keep warning everybody beforehand??? ;-)

    But, yes, that's the general idea. It would be rather nice to be able to code an n-ary max subroutine declaratively, like so:

    sub max (*@values) { any @values >= all @values }
    Especially since that version is vastly more amenable to internal parallelization.
      Don't you have those two backwards?
      sub max (*@v) { any(@v) >= all(@v) }
      That sounds more logical to me -- it returns any element of @v such that it is greater than or equal to all elements of @v.

      _____________________________________________________
      Jeff[japhy]Pinyan: Perl, regex, and perl hacker.
      s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;