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

Parrot v0.0.1 has been released. (Yes, this is actually real code, despite the April 1st nature of Parrot to start with).

-----------------------------------------------------
Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain
It's not what you know, but knowing how to find it if you don't know that's important

Replies are listed 'Best First'.
Re: Parrot v0.0.1 Released
by demerphq (Chancellor) on Sep 12, 2001 at 23:47 UTC
    Hmm. Id be curious to see the other monks thoughts on the below code snippet
    # copy stdin to stdout, except for lines starting with # while left_angle_right_angle: if dollar_underscore[0] =eq= "#": continue_next; } print dollar_underscore; }
    So if i read this correclty a block starts with a : and ends with }

    This seems like madness to me. Frankly I think id prefer to write VBS than stuff that looks like the above. The only thing that remotely appeals to mean is the string as an array.

    =eq=

    hmm, well maybe ahh NOPE.

    Yves
    --
    You are not ready to use symrefs unless you already know why they are bad. -- tadmc (CLPM)

      If you want the string as an array, you can do it natively in Ruby and many other languages, and you can do it in Perl by creating a class whose objects are anonymous arrays, then using overload to provide the obvious stringify operation.

      However Ruby has a nice idea that I wouldn't mind seeing in Perl. In Ruby any class can get a looping operation if you define an "each" iterator, and include Enumerable. Well they defined an "each" iterator for strings. There is in Ruby no difference over a file which contains many lines, and looping over a string that contains many lines in it.

      How is that for DWIM?

        Hi Tily.

        I wrote just such an object as an execise in learning the Tie interface. (Tie and Overload interact in strange ways.) However I have to say that the lack of an intuitive way to do this in Perl suprises me a little. Perhaps it has to do with how overloaded the various brackets are.

        There is also Tie::CharArray which allows the same thing.

        But frankly I hope that this is addressed in Perl 6...

        Yves
        --
        You are not ready to use symrefs unless you already know why they are bad. -- tadmc (CLPM)

      I'd like to see it have at least one more level of abstraction...
      while left_angle_right_angle:
      Is much clearer as:
      doubleeue-ach-eye-ell-ee ell-ee-eff-tee-underscore-ae-en-ge-ell-ee-und +erscore[snip]

      -Blake

        It has been suggested that this is a hoax.

        I suppose i'm the winner of the sucker prize today.

        Oh well.

        Yves
        --
        You are not ready to use symrefs unless you already know why they are bad. -- tadmc (CLPM)